Blender Git Loki
Git Commits -> Revision 55415cd
April 7, 2021, 08:20 (GMT) |
* Layer brush now supports dyntopo. - To do this I made a little API to make scratch customdata layers: SCULPT_dyntopo_[ensure/get]_templayer. Takes a customdata type and a layer name (e.g. '__dyntopo_bleh") and returns a customdata offset. - Note that I also did this for the persistent base code. * Added a macro to check if a tool supports splitting the PBVH during a stroke, DYNTOPO_HAS_DYNAMIC_SPLIT. It is in sculpt_intern.h (for now) to avoid the enormous amount of recompiling that is triggered if DNA_brush_enum.h is modified. * TODO: Right now the undo code resets original vertex coordinates for bmesh PBVH. This means tools that rely on original data (sharp and layer) can't split the pbvh during the stroke, since that will allocate new undo nodes and reset original coords. The solution is to move the original data API entirely out of the undo code. |
Commit Details:
Full Hash: 55415cd62a78f712329574bae3b6e43657d690de
Parent Commit: 8aac19c
Lines Changed: +334, -117
11 Modified Paths:
/source/blender/blenkernel/BKE_paint.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_pbvh.h (+2, -0) (Diff)
/source/blender/blenkernel/intern/paint.c (+1, -0) (Diff)
/source/blender/blenkernel/intern/pbvh.c (+4, -0) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+10, -31) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+147, -21) (Diff)
/source/blender/editors/sculpt_paint/sculpt_cloth.c (+10, -2) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+106, -50) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+48, -10) (Diff)
/source/blender/makesdna/DNA_brush_enums.h (+0, -3) (Diff)
/source/blender/makesdna/DNA_meshdata_types.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_pbvh.h (+2, -0) (Diff)
/source/blender/blenkernel/intern/paint.c (+1, -0) (Diff)
/source/blender/blenkernel/intern/pbvh.c (+4, -0) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+10, -31) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+147, -21) (Diff)
/source/blender/editors/sculpt_paint/sculpt_cloth.c (+10, -2) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+106, -50) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+48, -10) (Diff)
/source/blender/makesdna/DNA_brush_enums.h (+0, -3) (Diff)
/source/blender/makesdna/DNA_meshdata_types.h (+1, -0) (Diff)