Blender Git Commit Log

Git Commits -> Revision 7fca310

May 16, 2021, 04:19 (GMT)
Dyntopo now updates the existing pbvh on undo instead of building
a new one from scratch, an operation that can be slow despite being
threaded.

PBVH building is a memory bound operation (not just on the CPU side
either, remember the draw buffers have to be fully regenerated too).
Incrementally updating it this way is enormously faster (about as fast
as non-dyntopo undo).

The downside is we don't have the convienience of users regularly
building the pbvh from scratch anymore. Dyntopo does try to
join empty PBVH nodes (which happens after every stroke), but
that's not a complete substitute for a decent tree balancer.
That's on the todo list.

Commit Details:

Full Hash: 7fca310f25e3ac2c434dd05a2eaf55b6c82f3922
Parent Commit: 27f4f76
Lines Changed: +652, -115

10 Modified Paths:

/source/blender/blenkernel/BKE_pbvh.h (+5, -1) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+236, -27) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+91, -24) (Diff)
/source/blender/bmesh/intern/bmesh_log.h (+18, -4) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+34, -23) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+9, -7) (Diff)
/source/blender/editors/sculpt_paint/sculpt_face_set.c (+6, -5) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+130, -15) (Diff)
/source/blender/gpu/GPU_buffers.h (+4, -2) (Diff)
/source/blender/gpu/intern/gpu_buffers.c (+119, -7) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021