Blender Git Commit Log

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021