f3dd1a326099e711ba1805e499f8d446aec5abf8
Similar to previous changes for masks and visibility, remove the mutable pointer to face sets from the sculpt session. With implicit sharing, this avoids a duplicate copy of face sets on the evaluated object when face sets aren't edited. Most retrieval of face sets now goes through the Mesh attribute API instead of the pointer in sculpt session. This integrates sculpt code with the rest of Blender, avoiding the need to reinvent things like basic attribute access. Similar to previous refactors to mask and visibility operators, refactor the face set gesture and edit operators to be multithreaded and only push undo steps and tag updates for actually changed nodes. There is opportunity for more code deduplication in the future. For now the aim is to reduce the number of confusing abstraction levels though.
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
