February 5, 2021, 16:13 (GMT) |
Depsgraph: Remove no-op evaluation function Make the SHADING_PARAMETERS operation on node tree a real no-op. The function used as a callback was only doing a debug print. The issue with this function was that an original ID was passed as an argument. This is a violation of design, and if anything it should be left up to the implementation to check whether depsgraph is active. There are no functional changes for users in the interface. The only difference is that the debug print will no longer happen. |
February 5, 2021, 15:43 (GMT) |
Cleanup: Use raw string literal Resolves modernize-raw-string-literal Clang-Tidy warning The way warning works is it suggests to use raw literal when overhead of having escape characters is higher than the overhead of having raw literal syntax (talking about code size overhead). This means that the warning will not trigger for "foo"bar". Differential Revision: https://developer.blender.org/D10322 |
February 5, 2021, 15:43 (GMT) |
Cleanup: Use lambda instead of function bind More detailed explanation why it is a preferred way of coding nowadays can be found at https://clang.llvm.org/extra/clang-tidy/checks/modernize-avoid-bind.html Resolves modernize-avoid-bind Clang-Tidy warning. Differential Revision: https://developer.blender.org/D10320 |
February 5, 2021, 15:40 (GMT) |
Geometry Nodes: Instances API, support in point distribute node This patch changes the object info node to always output an instance. Theoretically, this change should be invisible to the user, because we plan to make instances real on demand. The benefit is improved performance because we can avoiding copying the input geometry when it's only needed for read operations. To make this work, we need a proper API to enable recursive reading of instanced geometry. This is essential, because we can even have collection instances in the `InstancesComponent`, which have no geometry of their own. And then any object in that collection could also contain an instance with a reference to another collection, etc. That might seem crazy, but it's essential for many more complicated workflows like the tree sample file. Another consideration is that currently, every single instance contains a reference to its data. This is inefficient since most of the time there are many locations and only a few sets of unique data. When we add the ability to instance a geometry set directly, this will be more important. So this patch adds a `GeometryInstanceGroup` to support this future optimization. Two APIs to the instances component are provided here. First is a callback approach that executes a function for every "final" geometry set. This can be used to optimize for many instances, to avoid heap allocations for each instance. The second API is one that returns a vector of `GeometryInstanceGroup`. This may be less efficient when there are many instances, but it makes more complicated operations like point distribution that need to iterate over input geometry multiple times much simpler. Even then, this patch makes the point distribute code much more complicated. It may be possible to simplify it further. The last TODO is support for making instances real on demand, which I am currently working on. The change to the object info node can't land without it. The transform spaces may be incorrect too. Differential Revision: https://developer.blender.org/D10327 |
February 5, 2021, 15:40 (GMT) |
GPencil: Fill optimizations |
February 5, 2021, 15:24 (GMT) |
DNA: support structs with a size of 1 or 2 bytes. Before the smallest possible dna struct size was 4 bytes. Differential Revision: https://developer.blender.org/D10287 |
February 5, 2021, 15:24 (GMT) |
Merge branch 'blender-v2.92-release' |
February 5, 2021, 15:23 (GMT) |
Fluid: Updated Mantaflow source files This updates fixes the following issues (critical for 2.92): - Issue that prevented dense 'int' grids from being exported (incorrect clip value) - Issue with particles outside out of domain bounds (position between -1 and 0) not being deleted |
February 5, 2021, 15:21 (GMT) |
Cleanup: Minimize seq->tmp usage Using this persistent field in `select_more_less_seq__internal` was inapropriate in this case. Split select more/less and linked code, because it was mixed in `select_more_less_seq__internal()` These operators work in completely different way. `select_linked_internal()` doesn't use seq->tmp at all. `seq->tmp` was used to mask strips selected by operator while iterating. Use GSet to store temporary data instead of `seq->tmp`. Reviewed By: sergey Differential Revision: https://developer.blender.org/D10326 |
February 5, 2021, 15:20 (GMT) |
Geometry Nodes: add Volume to Mesh node This node takes a volume and generates a mesh on it's "surface". The surface is defined by a threshold value. Currently, the node only works on volumes generated by the Points to Volume node. This limitation will be resolved soonish. Ref T84605. Differential Revision: https://developer.blender.org/D10243 |
February 5, 2021, 15:13 (GMT) |
Merge branch 'master' into temp-geometry-nodes-instances-api-v2 |
February 5, 2021, 15:10 (GMT) |
Geometry Nodes: support fixed pivot axis in Align Rotation to Vector node When the pivot axis is not set to auto, the node will try to align the rotation to vector as best as possible, given the selected rotation axis. Ref T85211. Differential Revision: https://developer.blender.org/D10292 |
February 5, 2021, 14:39 (GMT) |
Cleanup: Use transparent functor Resolves modernize-use-transparent-functors Clang-Tidy warning. Differential Revision: https://developer.blender.org/D10323 |
February 5, 2021, 14:28 (GMT) |
Geometry Nodes: Add Attribute Proximity Node This node calculates a distance from each point to the closest position on a target geometry, similar to the vertex weight proximity modifier. Mapping the output distance to a different range can be done with an attribute math node after this node. A drop-down changes whether to calculate distances from points, edges, or faces. In points mode, the node also calculates distances from point cloud points. Design task and use cases: T84842 Differential Revision: https://developer.blender.org/D10154 |
February 5, 2021, 13:39 (GMT) |
Cleanup: Clang-tidy modernize-use-default-member-init Using assignment syntax as we don't use `{}` initialization yet. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9501 |
February 5, 2021, 13:30 (GMT) |
Cleanup: Remove LibAV support Ubuntu and Debian dropped libav in 2015 in favor of ffmpeg. Development stopped of libav in 2018, so it should be save to remove. |
February 5, 2021, 12:07 (GMT) |
Merge branch 'blender-v2.92-release' |
February 5, 2021, 12:05 (GMT) |
Fix T85260: Viewport render does not draw background Regression introduced by {rBed809866b172} where overlays weren't drawn when overlays are turned off. The background in wireframe, solid (always) and material preview and render preview (when not using scene world) are also part of the overlays. |
February 5, 2021, 11:46 (GMT) |
Merge branch 'blender-v2.92-release' |
February 5, 2021, 11:43 (GMT) |
Fix T85396: Display Texture Paint UV only working in editmode Caused by rBf83aa830cd00. Since above commit, only meshes in editmode were considered for drawing (because BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs was used), but the option needs to work for texture paint mode as well, so use BKE_view_layer_array_from_objects_in_mode_unique_data instead on pass the draw_ctx->object_mode. note: there is no good filter_fn to check if we have UVs if mesh is not in editmode, this shouldnt cause much of a performance hit though. Maniphest Tasks: T85396 Differential Revision: https://developer.blender.org/D10319 |
|
|
|


Master Commits
MiikaHweb | 2003-2021