f9a217a276af0758931834b568c7749b93ac6e10
The code for recalculating bounds was fairly tricky to understand, with a mixture of various flags, a mixture of recursive and parallel code, and the "original bounds" concept. This commit separates that update code into two separate paths. The regular bounds update is split from the resetting of original bounds, which is only needed in a few places and is best described by a separate function call. The bounds update itself is split clearly into a parallel update of leaf node bounds and a recursive merging of child node bounds. The high level goals this helps to support are: 1. Use data-oriented storage to replace PBVHNode struct. 2. Document concepts like "original bounds", provide a self-descriptive API. 3. Allow brushes to update bounds themselves, for better CPU cache use. Pull Request: https://projects.blender.org/blender/blender/pulls/122746
…
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%
