8c8ea2ec47f59e9fdd364bde40253db3e60e1d69
Avoid reusing the custom data type enum with additional values. Instead use std::variant and type names to properly distinguish between custom and generic attribute requests. Use a Vector to hold the requests. Also attempt to simplify the string key building process for requests and groups of requests in batches. Previously for every PBVH node it would rebuild the key 3 times, now it only does it once. It's hard to measure, but that process did show up in profiles, so performance is probably slightly improved when many nodes are handled at once.
…
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%
