b339e3937d8dc580b655efe599c3b0f97f412fb1
Since the normals are stored in a shared cache, tagging them dirty recreated the cache from scratch when it was shared. Instead, add a function that updates the cache in the same call as tagging it dirty. This keeps the old state of the cache around even if it was shared, and reflects the way that it's really the PBVH and sculpt mode managing the dirty status of normals while sculpt mode is active. One consequence is that the BVH cache and the triangulation cache need to be tagged dirty manually. I'd like to avoid abstracting this more than necessary, because I'm hoping in the long term different caching abstractions like a more global cache that takes implicit sharing versions into account will make this complexity unnecessary. Fixes #111628, #111563 Pull Request: https://projects.blender.org/blender/blender/pulls/111641
…
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%
