63af8dbfca92f6a232ae88211f3be29196647861
These updates are used to recalculate normals and average values between grid boundaries during multires sculpting. In main the affected faces are passed as an array of pointers. Using an `IndexMask` instead reduces memory usage by 4x per affected face (8 byte pointer to 2 byte integer), simplifies iteration and threading, and can also improve performance. Finding which faces are affected is now multithreaded, with its runtime changing from 0.63 ms to 0.12 ms in a simple test sculpting on a portion of a 1 million face grid. Also switch to VectorSet instead of GHash for finding affected adjacent elements. That's a friendlier data structure that probably has better performance as well.
…
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%
