44b79af4fc
This commit removes knowledge about face sets from the PBVH, and changes iteration over faces to not depend on the PBVH face iterator abstraction. Though this adds slightly more boilerplate to iteration over faces, it makes the whole process more data oriented and allows use of index-based utilities like `gather` and `scatter` in the mesh case, and simpler iteration over BMesh faces for dynamic topology. Setting face sets is now specialized per PBVH type in a few places in a similar way. The general goal is to reduce branching and function calls at the lowest level of hot loops, and to make code more aware of the data structures it uses, both for performance and clarity. Since the remaining uses of the face iterator are removed, the iterator itself is removed too. Related commits: - 97f2b01ea93b599a537d - 756dea7ca1ec31df6ac4 - a6a2af5fdd89793d2fdb Pull Request: https://projects.blender.org/blender/blender/pulls/114417 |
||
---|---|---|
.gitea | ||
.github | ||
build_files | ||
doc | ||
extern | ||
intern | ||
locale | ||
release | ||
scripts | ||
source | ||
tests | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitignore | ||
AUTHORS | ||
CMakeLists.txt | ||
COPYING | ||
GNUmakefile | ||
make.bat | ||
pyproject.toml | ||
README.md |
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.