Blender Git Commits
Revision 6844304 by Charlie Jolly
December 31, 2021, 20:32 (GMT)
Nodes: Add Compare node operations to link drag search menu
Exposes compare operations via rna emums.
This uses the rna enum to build the search list using
named operations linked to socket A.
This also weights the Math Node comparison operations lower
for geometry node trees.
Differential Revision: https://developer.blender.org/D13695
December 31, 2021, 13:54 (GMT)
LineArt: Correct collection intersection mask logic.
The logic used to be:
"if collection doesn't have child collection, check if ob is from this one"
The correct logic should be:
"if collection child does not have this ob, then check this collection".
December 31, 2021, 13:26 (GMT)
LineArt: Correct clamping of out of bound isect index
Handles rare cases where line doesn't intersect the triangle correctly.
Revision d09b1d2 by Jacques Lucke
December 31, 2021, 13:24 (GMT)
Fix T94464: video texture is not refreshing
In the past that worked because the `GPUMaterial` referenced the
`ImageUser` from the image node. However, that design was incompatible
with the recent node tree update refactor (rB7e712b2d6a0d257d272e).
Also, in general it is a bad idea to have references between data that is
owned by two different data blocks.
This incompatibility was resolved by copying the image user from the node
to the `GPUMaterial` (rB28df0107d4a8). Unfortunately, eevee depended
on this reference, because the image user on the node was update when the
frame changed. Because the image user was copied, the image user in the
`GPUMaterial` did not receive the frame update anymore.
This frame update is added back by this commit. The main change is that
the image user iterator now also iterates over image users in `GPUMaterial`s
on material and world data blocks. An issue is that these materials don't
exist on the original data blocks and that caused the check in
`build_animation_images` in the depsgraph to give the wrong answer.
Therefore the check is extended.
Right now the check is not optimal, because it results in more depsgraph
nodes than are necessary. This can be improved when it becomes cheaper
to check if a node tree contains any references to a video texture.
The node tree update refactor mentioned before makes it much easier
to construct this kind of run-time data from the bottom up, instead of
scanning the entire node tree recursively every time some information
Revision 56344fb by Charlie Jolly
December 31, 2021, 13:05 (GMT)
Cleanup: Silence warning for wrong const char comparison
Incorrectly used comparison for empty string.
Reported in chat by @jacqueslucke.
Revision 018272e by Jacques Lucke
December 31, 2021, 10:33 (GMT)
Fix T94416: incorrect handling when nodes are linked in a loop
This just skips the entire algorithm when there are cycles.
In the future, cycles could be handled more gracefully in the
algorithm, but for now that's not worth it and is not necessary
to fix the bug.
Revision 71468f4 by Charlie Jolly
December 31, 2021, 02:34 (GMT)
Nodes: Weight drag link search for Math nodes
As @hooglyboogly suggested in D13680, this patch adds weighting
to the search results. Dragging from a vector/rgba socket weights
the Vector Math node higher than a float Math node, and vice versa.
Reviewed By: HooglyBoogly
Differential Revision: https://developer.blender.org/D13691
Revision 0aa7315 by Charlie Jolly
December 31, 2021, 01:15 (GMT)
Fix (unreported): remove menu separators from drag link search
Search was picking up the menu separator entries.
Add check for these which are defined by empty identifier strings.
Revision bf4358e by Aaron Carlisle
December 30, 2021, 22:39 (GMT)
Cleanup: Use switch to get gpu shader name
Rather than using the array syntax that doesnt work in C++,
use a switch state which is also much easier to read.
Revision ee2b72f by Aaron Carlisle
December 30, 2021, 17:42 (GMT)
Nodes: Convert several shader nodes to c++
Also add file namespace
This is needed to use new node APIs
Differential Revision: https://developer.blender.org/D13690
Revision e0d1e66 by Antonio Vazquez
December 30, 2021, 11:48 (GMT)
Fix T93868: GPencil material filter does not work with instances
When the material is used in several objects, the filter by material is not working as expected because the internal pointers are different due eval version.
Now, the original version of the material is compared to keep same address.
Revision 52da1af by Shen Ciao / Antonio Vazquez
December 30, 2021, 10:29 (GMT)
Fix T93134: Set origin broken for curve edit mode
Bug: Set Origin causes unexpected offset on Grease Pencil strokes when Curve Editing is enabled.
Fix: Add transformation of editcurve points in `object_origin_set_exec`.
Reviewed By: #grease_pencil, antoniov
Maniphest Tasks: T93134
Differential Revision: https://developer.blender.org/D13273
Revision 49a18cc by Antonio Vazquez
December 30, 2021, 10:18 (GMT)
Fix T93163: GPencil scale thickness fails in negative scales
Before the negative scales produced a thickness invalid. Now, the value is used in absolute value to avoid this situation.
Revision 0b73b2c by Charlie Jolly
December 30, 2021, 01:22 (GMT)
Nodes: Improve link drag search for Math and Vector Math nodes
Exposes math operations via rna emums.
This uses the rna enum to build the search list.
Differential Revision: https://developer.blender.org/D13680
Revision 6d7dbdb by Hans Goudey
December 30, 2021, 00:39 (GMT)
Point Cloud: Optimize bounding box calculation
This is analagous to 6a71b2af66cf10556b21 which did the same
thing for mesh data. Two differences are that here the coordinates
are simply `float3`, and we account for the radius if it's available.
Here I observed a similar performance increase, from 50ms
average to 10ms average, with 16 million points, a 5x speedup.
The calculation is about 1.4 times faster when no radius is used, down
to 7.3ms average. Before, the calculation was only 1.2 times faster.
Revision 9d3264b by Aaron Carlisle
December 29, 2021, 23:51 (GMT)
Cleanup: clang-tidy modernize-redundant-void-arg
Revision d3a3131 by Aaron Carlisle
December 29, 2021, 23:36 (GMT)
Nodes: Convert shader, texture category nodes to c++
Also add/correct file namespace
This is needed to use new node APIs
Differential Revision: https://developer.blender.org/D13688
Revision c0fdf16 by Hans Goudey
December 29, 2021, 22:53 (GMT)
Fix T94454: Python API curve to mesh use after free without depsgraph
This was caused by a mistake in eb0eb54d9644c5139, which removed
the clearing of the curve edit mode pointers that are set when creating
the temporary data for the conversion. If they are not cleared, the
generic ID free function will also free the edit mode data, which is
wrong when the source curve is in edit mode.
Revision 04ead39 by Germano Cavalcante
December 29, 2021, 20:45 (GMT)
Modifiers: decrease maximum allocation size for Weld vertices
At the time of allocating the buffer with vertices in context, we don't
know exactly how many vertices are affected, but we do know that it is
less than or equal to twice the number of vertices killed.
Revision bb0da7d by Jacques Lucke
December 29, 2021, 18:40 (GMT)
Fix (unreported): missing relations update after adding scene time node
This just moves the relations update to a lower level function that is used
by other functions. Eventually, the special case for this node should be