August 28, 2021, 19:14 (GMT) |
Sculpt dyntopo: Add edge API * Added a minimal edge API to query edge boundary states. * This is necassary because the previous approximation, testing if two adjacent verts are boundaries, breaks for triangles. |
August 28, 2021, 17:58 (GMT) |
Merge branch 'master' into sculpt-dev |
August 28, 2021, 17:57 (GMT) |
Sculpt: Quantize mask filter |
August 28, 2021, 04:54 (GMT) |
Tweak last commit to not affect base face set. |
August 28, 2021, 03:02 (GMT) |
Sculpt dyntopo: split face set boundaries on mirror boundary Added an option to split face set boundaries on mirror boundaries; currently only DynTopo supports this. Very useful for making hard edges along mirror lines. |
August 28, 2021, 01:13 (GMT) |
Sculpt dyntopo: improved boundary smoothing It's kind of hackish mathematically. |
August 27, 2021, 21:18 (GMT) |
Sculpt dyntopo: added a smoothing factor for sharp boundaries Works by projecting non-boundary verts onto boundary vert normals and weighting by boundary_smooth_Factor. |
August 27, 2021, 08:59 (GMT) |
Missed an ATTR_NONNULL fix |
August 27, 2021, 08:57 (GMT) |
change 'error' to 'warning' in a printf |
August 27, 2021, 08:51 (GMT) |
Sculpt dyntopo: undo bugfixes * Fixed nasty undo bug related to now rewinding BMLogEntry subchains properly. * Fixed bug in dyntopo collapse |
August 27, 2021, 03:23 (GMT) |
Sculpt dyntopo: Who knew gcc's nonnull attribute is 1-based |
August 27, 2021, 03:10 (GMT) |
Sculpt dyntopo: Cleanup past few commits * Removed some ATTR_NO_OPTs * Made pbvh_split_edges disallowed 4-valence splits if cleanup topology mode is on |
August 27, 2021, 01:00 (GMT) |
Sculpt dyntopo: support sharp edge flags * Sharp edge flags are now supported and are treated much the same as face set boundaries: + Dyntopo preserves them + Interior smoothing treats them as boundaries + Corners are detected and pinned in smoothing + TODO: add a brush flag to ignore sharp boundaries for smoothing. * Seams are also preserved, but don't affect smoothing. * BMLog now saves edges. * The new edge split function is enabled. * Dyntopo now pushes new combined BMLog entries in its top-level function, to avoid scary id reuse edge cases. * SCULPT_vertex_is_boundary/corner now take a bitmask of which types of boundaries you wish to query instead of check_face_sets. |
August 26, 2021, 23:07 (GMT) |
Sculpt Vertex Colors: New sample color operator |
August 26, 2021, 21:19 (GMT) |
Merge branch 'master' into sculpt-dev |
August 26, 2021, 15:26 (GMT) |
Fix C++20 designated initializer build issue. |
August 25, 2021, 10:01 (GMT) |
commit prior to small cleanup |
August 24, 2021, 20:18 (GMT) |
* Implemented bounday/face set corner handling. * New function SCULPT_vertex_is_corner, similar to SCULPT_vertex_is_boundary it takes argument to check face sets. PBVH_FACES/GRIDS version is incomplete. It returns a bitmask of whether the vert is a boundary corner and/or a face set one. * PBVH_BMESH uses a somewhat more expensive calculation to detect corners of face set islands by edge angle. This is currently not done for boundary corners. Corner pinning now happens in: * The internal smoother dyntopo uses for stability reasons. * SCULPT_vertex_neighbor_average_interior. * Topology rake. * Dyntopo collapse. Note that DynTopo always pins face set corners but everything else only does so if preserve face sets is on. |
August 24, 2021, 05:55 (GMT) |
Sculpt dyntopo: more smooth stuff * All of the smooth brushes now use the SculptCustomLayer system for temporary data, so all work with dyntopo now. * You can now use a flat array in SculptCustomLayer with PBVH_BMESH (though you have to build the structure manually). The mesh filter code uses this. * Smooth (and autosmooth) now have an option to preserve face set boundaries. Corners are currently not handled. * Simplify brush has preserve face set boundaries autosmooth flag set by default. * SCULPT_vertex_is_boundary now takes an addition argument for whether to check for face set boundaries. |
August 24, 2021, 04:06 (GMT) |
Sculpt dyntopo: Smooth improvements and bug fixes * Added an option to weight smooth by face areas * Dyntopo now caches face areas in a CD_PROP_FLOAT layer * Dyntopo also caches number of edges around verts inside of MDynTopoVert. To avoid increasing the struct size flag was made a short. * Cleanup mode (dissolves 3/4-valence verts) now piggybacks on subdivide code to build list of verts; this is much faster. |
|