4e66769ec09461384af48b0bfdafc28884f01d19
Parallelize the implementation and move constant checks out of hot loops. Only push undo steps for PBVH nodes that actually have changed hide status. Optimize the "show all" case to remove the hide attributes. For timings, I recorded some information on a 16 million vertex mesh: - Hide masked (1/4 of mesh): 171 ms to 33 ms - Hide small box: 13 ms to 14 ms - Show all with small box hidden: 226 ms to 10 ms - Show with all visible: 173 ms to 0.36 ms There are a few other visbility operators that aren't affected: - SCULPT_OT_face_set_invert_visibility - SCULPT_OT_reveal_all - SCULPT_OT_face_set_change_visibility In separate steps, they should be moved to use the same structure, or maybe even removed in the case of "reveal all". I expect the "gather, change hidden verts, scatter" steps for each node could be made a bit more efficient, they do some redundant work. But it was also a simple way to share a reasonable amount of code.
…
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%
