Blender Git Commit Log
Git Commits -> Revision 173f5f9
September 15, 2021, 08:41 (GMT) |
Sculpt dyntopo: Seperate enabling PBVH_BMESH from enabling DynTopo: * Created a new option to globally disabled DynTopo. * The DynTopo panel header now reads "Dynamic Mode", to hopefully signal that turning on PBVH_BMESH is a seperate step from enabling or disabling DynTopo itself. * The first checkbox in the panel is "DynTopo" so it should be clear enough (it's on by default, with multiple layers of file versioning checks). PBVH_BMesh's undo system: * CD_MESH_ID layers are now permanently saved once they are created (by default they are not). This fixed a *lot* of bugs: Before this the undo system had to save maps between mesh indices and mesh IDs on transitioning between sculpt and global undo steps. This was extremely error prone, and it simply wasn't possible to cover all of the corner cases * Note that there is still an odd bug where the first global undo push after a sculpt step gets ignored, I dunno what's up with this. * Dyntopo undo should be nearly (hopefully completely) bug-free after this commit. C++20 * Made a few small changes to get blender to compile with c++20. std::result_of was removed, had to replace a couple of usages of it with std::invoke_result. * I'm planning to do some design studies on rewriting sculpt into C++. * I strongly suspect we are going to need C++20'a new concepts feature if we move sculpt into C++. I'm planning to do some design studies on how that might work. |
Commit Details:
Full Hash: 173f5f94ff71d18792da4f1a98f5d0ef5c39b169
Parent Commit: 0eeaeb3
Lines Changed: +614, -173
29 Modified Paths:
/extern/audaspace/include/util/ThreadPool.h (+7, -1) (Diff)
/extern/Eigen3/Eigen/src/Core/util/Macros.h (+1, -1) (Diff)
/intern/guardedalloc/intern/mallocn_guarded_impl.c (+1, -1) (Diff)
/release/scripts/startup/bl_ui/space_view3d_toolbar.py (+4, -2) (Diff)
/source/blender/blenkernel/BKE_blender_version.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_fcurve.h (+4, -0) (Diff)
/source/blender/blenkernel/BKE_pbvh.h (+15, -11) (Diff)
/source/blender/blenkernel/intern/brush.c (+4, -0) (Diff)
/source/blender/blenkernel/intern/customdata.c (+27, -25) (Diff)
/source/blender/blenkernel/intern/dyntopo.c (+52, -13) (Diff)
/source/blender/blenkernel/intern/paint.c (+9, -8) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+11, -4) (Diff)
/source/blender/blenkernel/intern/pbvh_intern.h (+1, -1) (Diff)
/source/blender/blenlib/BLI_asan.h (+57, -1) (Diff)
/source/blender/blenloader/intern/versioning_300.c (+21, -0) (Diff)
/source/blender/bmesh/bmesh_class.h (+2, -1) (Diff)
/source/blender/bmesh/intern/bmesh_construct.c (+36, -25) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+11, -11) (Diff)
/source/blender/bmesh/intern/bmesh_mesh.c (+14, -10) (Diff)
/source/blender/bmesh/intern/bmesh_mesh.h (+6, -4) (Diff)
/source/blender/bmesh/intern/bmesh_mesh_convert.c (+134, -9) (Diff)
/source/blender/bmesh/intern/bmesh_mesh_convert.h (+1, -1) (Diff)
/source/blender/bmesh/intern/bmesh_structure.h (+2, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_detail.c (+63, -14) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+15, -11) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+2, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+105, -16) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_sculpt_paint.c (+6, -0) (Diff)
/extern/Eigen3/Eigen/src/Core/util/Macros.h (+1, -1) (Diff)
/intern/guardedalloc/intern/mallocn_guarded_impl.c (+1, -1) (Diff)
/release/scripts/startup/bl_ui/space_view3d_toolbar.py (+4, -2) (Diff)
/source/blender/blenkernel/BKE_blender_version.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_fcurve.h (+4, -0) (Diff)
/source/blender/blenkernel/BKE_pbvh.h (+15, -11) (Diff)
/source/blender/blenkernel/intern/brush.c (+4, -0) (Diff)
/source/blender/blenkernel/intern/customdata.c (+27, -25) (Diff)
/source/blender/blenkernel/intern/dyntopo.c (+52, -13) (Diff)
/source/blender/blenkernel/intern/paint.c (+9, -8) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+11, -4) (Diff)
/source/blender/blenkernel/intern/pbvh_intern.h (+1, -1) (Diff)
/source/blender/blenlib/BLI_asan.h (+57, -1) (Diff)
/source/blender/blenloader/intern/versioning_300.c (+21, -0) (Diff)
/source/blender/bmesh/bmesh_class.h (+2, -1) (Diff)
/source/blender/bmesh/intern/bmesh_construct.c (+36, -25) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+11, -11) (Diff)
/source/blender/bmesh/intern/bmesh_mesh.c (+14, -10) (Diff)
/source/blender/bmesh/intern/bmesh_mesh.h (+6, -4) (Diff)
/source/blender/bmesh/intern/bmesh_mesh_convert.c (+134, -9) (Diff)
/source/blender/bmesh/intern/bmesh_mesh_convert.h (+1, -1) (Diff)
/source/blender/bmesh/intern/bmesh_structure.h (+2, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_detail.c (+63, -14) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+15, -11) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+2, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+105, -16) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_sculpt_paint.c (+6, -0) (Diff)