Blender Git Loki
Git Commits -> Revision 7c194b3
Revision 7c194b3 by Pablo Dobarro (sculpt-mode-features) March 22, 2019, 15:16 (GMT) |
Automasking System: Topology automasking initial implementation This commit adds a general automasking system and the topology automasking option (not topology falloff, that can be added later). It should be faster and with fewer memory errors that the last version I made. It is designed to work with every brush and every stroke mode, but for now, I only added support for draw and grab to avoid changing every brush until the system is more polished. The main purpose of adding this in such an early stage of development is to check if the cursor is working correctly. The purpose of the vertex preview in the cursor was to show the active vertex for automasking, so now I can test if the whole system is behaving as it should. Limitations: - Only meshes for now (no dyntopo or multires). I still need to think about what to do with dyntopo. I don't know if brushes that generate new topology are going to work with this. - It only stores a binary mask (a vertex can be active or not). This could be changed if the future to support topological falloff or other more complex types of automasking. - As it is now, brushes that use stroke space update the active vertex dynamically, setting it to the closest vertex to the brush location each sample. This often causes masking errors with small brushes. I'm considering changing it to always check topology using the initial active vertex, but it is going to be much slower. |
Commit Details:
Full Hash: 7c194b367e353d36e1e0daec0542d712669b7698
Parent Commit: a92fb8a
Lines Changed: +326, -23
10 Modified Paths:
/release/scripts/startup/bl_ui/space_view3d_toolbar.py (+4, -0) (Diff)
/source/blender/blenkernel/BKE_paint.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_pbvh.h (+9, -1) (Diff)
/source/blender/blenkernel/intern/pbvh.c (+16, -14) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+4, -4) (Diff)
/source/blender/blenkernel/intern/pbvh_intern.h (+3, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+251, -3) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+15, -0) (Diff)
/source/blender/makesdna/DNA_brush_types.h (+8, -0) (Diff)
/source/blender/makesrna/intern/rna_brush.c (+11, -0) (Diff)
/source/blender/blenkernel/BKE_paint.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_pbvh.h (+9, -1) (Diff)
/source/blender/blenkernel/intern/pbvh.c (+16, -14) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+4, -4) (Diff)
/source/blender/blenkernel/intern/pbvh_intern.h (+3, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+251, -3) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+15, -0) (Diff)
/source/blender/makesdna/DNA_brush_types.h (+8, -0) (Diff)
/source/blender/makesrna/intern/rna_brush.c (+11, -0) (Diff)