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 is needed. |
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. |
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 generalized. |
|