Blender Git Loki
Git Commits -> Revision 8510c77
August 16, 2021, 01:02 (GMT) |
Sculpt dyntopo: improve boundary brush for irregular topology (still a wip) The boundary brush now builds a geodesic distance field (from the boundary) from which it derives a tangent field: * These now define the rotation plane for bend mode. * Rotation origins snap to these planes. There is also typedef'd code for visualization tangents in a temporary object (note the sculpt object), to enable define VISBM in sculpt_boundary.c. This will be removed lated. Additional changes: * Added a function to get the number of edges around verts, SCULPT_vertex_valence_get. * Added an API to calculate cotangent weights for vert fans, SCULPT_cotangents_begin (call in main thread first) and SCULPT_get_cotangents. * Sculpt neighbors for PBVH_FACES now uses ss->vemap if it exists. * The Mesh topology mapping code now takes extra parameters for sorting vert/edge cycles geometrically. * Similarly, there is now a function to sort BMesh edge cycles, BM_sort_disk_cycle. * MDynTopoVert->flag now has a bitflag for when the disk cycle sorting needs to be redone, DYNVERT_NEED_DISK_SORT. * The sculpt geodesic code now supports passing in custom vertex coordinates. * The geodesic API can also build an optional map of which vertex in the initial vertex list is closest to any other vertex. |
Commit Details:
Full Hash: 8510c77b9cbe1d9d90b5471c4bfcef943a30f6ab
Parent Commit: 40aa321
Lines Changed: +2013, -266
28 Modified Paths:
/extern/quadriflow/src/config.hpp (+2, -0) (Diff)
/source/blender/blenkernel/BKE_mesh_mapping.h (+29, -15) (Diff)
/source/blender/blenkernel/BKE_paint.h (+18, -1) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+10, -2) (Diff)
/source/blender/blenkernel/intern/dyntopo.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/mesh_fair.cc (+4, -1) (Diff)
/source/blender/blenkernel/intern/mesh_mapping.c (+312, -7) (Diff)
/source/blender/blenkernel/intern/mesh_merge.c (+10, -2) (Diff)
/source/blender/blenkernel/intern/mesh_remap.c (+11, -3) (Diff)
/source/blender/blenkernel/intern/multires_reshape_apply_base.c (+4, -1) (Diff)
/source/blender/blenkernel/intern/paint.c (+13, -3) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+4, -1) (Diff)
/source/blender/bmesh/intern/bmesh_construct.c (+74, -0) (Diff)
/source/blender/bmesh/intern/bmesh_construct.h (+1, -0) (Diff)
/source/blender/editors/object/object_modifier.c (+4, -3) (Diff)
/source/blender/editors/object/object_vgroup.c (+2, -1) (Diff)
/source/blender/editors/sculpt_paint/paint_image_proj.c (+0, -4) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex.c (+8, -2) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+66, -46) (Diff)
/source/blender/editors/sculpt_paint/sculpt_boundary.c (+991, -139) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+257, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_expand.c (+2, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_geodesic.c (+132, -27) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+32, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+20, -3) (Diff)
/source/blender/makesdna/DNA_meshdata_types.h (+3, -1) (Diff)
/source/blender/modifiers/intern/MOD_skin.c (+1, -1) (Diff)
/source/blender/blenkernel/BKE_mesh_mapping.h (+29, -15) (Diff)
/source/blender/blenkernel/BKE_paint.h (+18, -1) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+10, -2) (Diff)
/source/blender/blenkernel/intern/dyntopo.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/mesh_fair.cc (+4, -1) (Diff)
/source/blender/blenkernel/intern/mesh_mapping.c (+312, -7) (Diff)
/source/blender/blenkernel/intern/mesh_merge.c (+10, -2) (Diff)
/source/blender/blenkernel/intern/mesh_remap.c (+11, -3) (Diff)
/source/blender/blenkernel/intern/multires_reshape_apply_base.c (+4, -1) (Diff)
/source/blender/blenkernel/intern/paint.c (+13, -3) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+4, -1) (Diff)
/source/blender/bmesh/intern/bmesh_construct.c (+74, -0) (Diff)
/source/blender/bmesh/intern/bmesh_construct.h (+1, -0) (Diff)
/source/blender/editors/object/object_modifier.c (+4, -3) (Diff)
/source/blender/editors/object/object_vgroup.c (+2, -1) (Diff)
/source/blender/editors/sculpt_paint/paint_image_proj.c (+0, -4) (Diff)
/source/blender/editors/sculpt_paint/paint_vertex.c (+8, -2) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+66, -46) (Diff)
/source/blender/editors/sculpt_paint/sculpt_boundary.c (+991, -139) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+257, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_expand.c (+2, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_geodesic.c (+132, -27) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+32, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+20, -3) (Diff)
/source/blender/makesdna/DNA_meshdata_types.h (+3, -1) (Diff)
/source/blender/modifiers/intern/MOD_skin.c (+1, -1) (Diff)