This new option allows to combine all layers in the active one. Also the merge down option has been improved.
Reviewed By: mendio, pablo vazquez (UI)
Differential Revision: https://developer.blender.org/D13054
* Name generated 'append' collection, instead of getting a generic
meaningless name.
* Do not check if a collections's objects are already instantiated, when
we already know that we want to instantiate that collection.
The issue was that some geometries were not synced again even when
they changed. This commit adds a map that keeps track of the geometries
that need to be updated when an object has changed.
Differential Revision: https://developer.blender.org/D13020
A group node could reference an undefined group when the group
was linked and its source file was not found on load. The field
inferencing code did not handle that case before.
With this change, the file provided in T92799 loads successfully.
Cloth modifier had a unique, weird and weak way of copying its
pointcache, now make it use `BKE_ptcache_copy_list` like done for e.g.
particles or softbody data.
Drop-boxes should act on the context determined through the exact cursor
location. There should be no need to override that, basically by the
nature of how drop-boxes work.
So Campbell and I agreed on removing this.
If we wanted to support it, we'd have to restore the operator context
when drawing drop-boxes, see
https://developer.blender.org/T92501#1247581.
Simply removing the check for `UI_STATE_TEXT_INPUT` makes it inherit
the "List Item" User Interface theme settings. This patch changes the
default theme to match the colors of text input fields.
#### Master
{F11680556, size=full}
#### This patch
{F11680557, size=full}
All the included commmunity themes seem to work well (only Deep Grey might
need more contrast but that's a different patch).
Related reports: T92720
Reviewed By: #user_interface, Severin
Maniphest Tasks: T92720
Differential Revision: https://developer.blender.org/D13073
This solves the issue in a more general that can also be used to solve
similar issues for other nodes in the future. Nodes can specify their
"main" socket in their declaration so that we don't have to rely on
heuristics.
Differential Revision: https://developer.blender.org/D13108
Many modifiers and other places use `CustomData_copy_data` to copy data
between different meshes. This function assumes that assumes that the
source and destination `CustomData` objects are "compatible" in some way.
Usually modifiers use `CustomData_copy` to create a compatible new
`CustomData` on the new mesh. The issue was that the optimization I added
for anonymous attributes broke this compatibility. It avoided copying some
attributes when they are no longer used.
This lead to attributes being copied incorrectly.
D13083 contains ideas for how this could be fixed more generally.
For now I just removed the optimization.
Differential Revision: https://developer.blender.org/D13083
Function arguments were incorrect.
Noted during @simonthommes live stream.
Reviewed By: JacquesLucke
Differential Revision: https://developer.blender.org/D13110
Issue was that the context used for dropbox handling and polling didn't
match the one used for drawing the dropbox and generating the tooltip
text (which would determine the material slot under the cursor,
requiring context). The mismatch would happen with overlapping regions.
Actually, this patch includes two fixes, each fixing the crash itself:
* Store the context from handling & polling and restore it for drawing.
* Correct the hovered region lookup for drawing to account for overlayed
regions.
Note that to properly set up context for drawing, we should also account
for the operator context, which isn't done here, see
https://developer.blender.org/T92501#1247581.
The global theme state didn't get updated or unset properly when drawing
overlays. Now paint cursors use the theme settings of the space they are
in, while global overlays use the global fallback, which is the main 3D
View region.
Size, position and scale of the "two-line" widget (the one to scale a
node horizontally) was not taking interface scale into account. In the
case of the report, it could happen it draws behind an output socket.
before (at 2.0 interface scale)
{F11698493}
after (at 2.0 interface scale)
{F11698501}
Maniphest Tasks: T92791
Differential Revision: https://developer.blender.org/D13088
Adds a length output to the curve parameter node which returns the
length of a spline at each point, or the length of the curve at
each spline depending on the domain.
Differential Revision: https://developer.blender.org/D12882
This shows a geometry's volume grids in the spreadsheet.
Three columns are displayed:
- Name: The text name of each grid
- Data type: Float, Vector, etc.
- Class: Fog volume, Level Set, or unkown
In the future, values of the voxels themselves could be displayed,
but that is a much more complex problem, with important performance
implications, etc.
Differential Revision: https://developer.blender.org/D13049
Building on the work in rBef45399f3be0, this commits adds
tooltips to the inputs for the default primitives nodes.
Differential Revision: https://developer.blender.org/D12640
By default, when syncing materials slots between object and its obdata,
the amount of slots in obdata is the reference.
Missing linked obdata is replaced by an empty placeholder that has no
material. In that specific case, if we have a valid object ID, we want
to update the (placeholder) obdata's material count from the object one,
and not the other way around.
Add a boolean input to the resample curve node that indicates which
splines should be resampled and which should be unchanged.
Differential Revision: https://developer.blender.org/D13064
The `ContainerValue` template can obtain the type of the contained value
via the given `Container` type, simply using `Container::value_type`.
Use this as the default way to determine the value type which simplifies
using the template. If necessary the value type can be passed explicitly
still.
Even never-shown RNA properties should have at least a description, as
this is used by API doc generation scripts.
NOTE: this is more of an opportunistic set of changes than a proper
complete fix of that loack of documentation.
Operations such as erasing with occlusion and drawing on the surface
require reading the depth buffer.
However, this is being done with minimal efficiency.
Currently, to read the depth corresponding to each point of the new stroke,
a ReadPixel is called to send a message to the GPU and read the depth of
the corresponding pixel in the VRAM.
The communication between GPU and CPU is known to be a slow operation so
it is good to be avoided.
Therefore, save the entire depth buffer in a cache to be read directly
from the RAM.
(Also the `ED_view3d_autodist_depth` and `ED_view3d_autodist_depth_seg` have
been removed since they are no longer used).
Reviewed By: antoniov, fclem
Differential Revision: https://developer.blender.org/D10894
The channel names were often indistingushable in animation editors.
Now include the node _name_ (unfortunately, getting the _label_ could
result in bad performance in some circustances -- see previous version
of D13085).
Similar to what rB77744b581d08 did for some VSE strip properties.
ref. T91917
Maniphest Tasks: T91917
Differential Revision: https://developer.blender.org/D13085
There was a bunch of special handling to support dropping data-blocks onto
string or search-menu buttons, to change the value of these. This refactor
makes that case use the normal drop-box design, where an operator is executed
on drop that gets input properties set by the drop-box. This should also make
it easier to add support for dragging assets into these buttons.
In addition this fixes an issue: Two tooltips were shown when dragging assets
over text buttons. None should be shown, because this isn't supported.
The version patch for 0cf9794c7e was checking and setting a data name
using the macros for translation. These would access the current
preferences which can mismatch the ones currently being version patched.
See discussion in 0cf9794c7e for details.
Don't handle translation in this version patch, which is more of a
"nice-to-have" version patch, no functionality depends on it.