Revision f117ea2 by Hans Goudey March 5, 2021, 21:16 (GMT) |
Geometry Nodes: Expose vertex normals as an attribute This attribute exposes mesh vertex normals as a `vertex_normal` attribute for use with nodes. Since the normal vector stored in vertices is only a cache of data computable from the surrounding faces, the attribute is read-only. A proper error message for attempting to write this attribute is part of T85749. A write-only normal attribute will likely come later, most likely called `corner_normal`. The normals are recomputed before reading if they are marked dirty. This involves const write-access to the mesh, protected by the mutex stored in `Mesh_Runtime`. This is essential for correct behavior after nodes like "Edge Split" or nodes that adjust the position attribute. Ref T84297, T85880, T86206 Differential Revision: https://developer.blender.org/D10541 |
Revision becc36c by Hans Goudey March 5, 2021, 20:45 (GMT) |
Geometry Nodes: Sort attribute search items when menu opens Because the search didn't run when the menu first opens, the attributes appeared in a different order than after you typed anything into the search field. This commit instead runs the search when the menu is first opened, but it only sorts items without filtering. |
Revision 4addcf1 by Julian Eisel March 5, 2021, 17:14 (GMT) |
Cleanup: Remove redundant special handling after previous commit Not needed anymore since 3a907e742507. |
Revision 3a907e7 by Julian Eisel March 5, 2021, 17:07 (GMT) |
Outliner: Barebones to port IDs to new Outliner tree-element code design Continuation of work in 2e221de4ceee and 249e4df110e0 . This prepares things so we can start porting the individual ID types to the new code design. I already added some code for library IDs, because they need some special handling during construction, which I didn't want to break. The `AbstractTreeElement::isExpandValid()` check can be removed once types were ported and can be assumed to have a proper `expand()` implemenation. Also makes `TreeElementGPencilLayer` `final` which I forgot in e0442a955bad. |
Revision ae00539 by Julian Eisel March 5, 2021, 16:46 (GMT) |
Fix incorrect assert in Outliner ID deletion Mistake in aa3a4973a30f. The expanded `ELEM()` check would include `0 && te->idcode != 0`, which always evaluates to `false`/`0`. That wouldn't cause the asset to fail, but the `te->idcode` part would never be checked. Fixed the error and cleaned up the check against "0" with a check against `TSE_SOME_ID`, see b9e54566e3b1a. |
Revision b9e5456 by Julian Eisel March 5, 2021, 16:46 (GMT) |
Cleanup: Add & use enum value for ID Outliner element type Code to check if the Outliner tree-element type was the general ID one would always check against "0" (explicity or even implicitly). For somebody unfamiliar with the code this is very confusing. Instead the value should be given a name, e.g. through an enum. Adds `TSE_SOME_ID` as the "default" ID tree-element type. Other types may still represent IDs, as I explained in a comment at the definition. There may also still be cases where the type is checked against "0". I noted in the comment that such cases should be cleaned up if found. |
Revision ed84161 by Sebastián Barschkis March 5, 2021, 16:35 (GMT) |
Cleanup: Rename func occurences to _fn Use _fn as a suffix for callbacks. |
Revision f882bee by Hans Goudey March 5, 2021, 16:13 (GMT) |
Fix crash with pinned geometry node tree with no active object The check for a null active object was after trying to retrieve the active modifier from the object. |
Revision 3d3a5bb by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: Remove using statements. |
Revision ba5961b by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: use MIN2/MAX2 in compositor. |
Revision 6ebd34c by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: Make WorkPackage a struct |
Revision 8b2fb7a by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: Remove unused method. |
Revision 3d4a844 by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: ExecutionSystem::find_output_execution_groups. |
Revision e1d9b09 by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: Use enum class for eChunkExecutionState. |
Revision fde150f by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: Use std::Vector for chunk execution status. |
Revision 87842d6 by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: Use blender::Vector in ExecutionGroup. |
Revision 921138c by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: rename private attribtue m_max_read_buffer_offset. |
Revision 7bccbce by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: use snake case. |
Revision 7c8ec99 by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: use blender::Vector. |
Revision d4c673d by Jeroen Bakker March 5, 2021, 15:56 (GMT) |
Cleanup: use blender::Vector. |
|
|
|


Master Commits
MiikaHweb | 2003-2021