September 9, 2021, 18:06 (GMT) |
Sculpt dyntopo: Added a 'hard edge mode' option to forcibly set autosmooth_fset_slide to zero (i.e. treat face set boundaries as hard edges and not project them on the surface). |
September 9, 2021, 07:21 (GMT) |
Add more int casts for linux |
September 9, 2021, 07:18 (GMT) |
Sculpt dyntopo * Non-manifold "fins" are now detected and automatically deleted. * Fixed compile error on linux. |
September 8, 2021, 23:51 (GMT) |
Sculpt dyntopo: * Collapse now uses code from decimate to detect degenerate cases. * Remaining, unknown (and rare) degenerate cases are now detected (via presence of duplicate verts in faces) and fixed. * DynTopo fills in undo size properly now, so undo memory limiting works. |
September 8, 2021, 07:49 (GMT) |
Sculpt dyntopo: * BLI_table_gset now internally uses a SmallHash instead of a GHash. Profiling revealed this to be quite a bit faster. * This is something of a stopgap until C++-afication of pbvh, when we'll have our pick of a bunch of really nice C++ hashmap libs. * pbvh_collapse_edge bites the dust; dyntopo now uses BM_collapse_edge. Of the three topology operations (subdivide edge, collapse edge, dissolve 3/4 valence vertex) only dissolve still has a dyntopo-specific implementation. * Fixed a bunch of annoying memory corruption bugs. * Non-manifold triangles are now detected in more places. SmallHash changes: * Enabled removal * Fixed infinite loop bug caused by improperly counting free*d* cells versus free cells. * Added a BLI_smallhash_ensure_p method that works just like the GHash version. Sculpt replay system * Roughed out a simple system to record and play back sculpt strokes using a simple text format. * This is exclusively for performance profiling and unit tests. * For each brush stroke the system saves a copy of the active StrokeCache and PaintStroke and parts of Sculpt. This should make profiling DRAM thrashing a lot easier. |
September 3, 2021, 06:19 (GMT) |
commit working code |
September 2, 2021, 18:42 (GMT) |
Linux's gcc's flags are evil |
September 2, 2021, 18:32 (GMT) |
Fix warnings |
September 2, 2021, 18:26 (GMT) |
Fix compile error |
September 2, 2021, 18:08 (GMT) |
Sculpt dyntopo: increment subversion. |
September 2, 2021, 18:02 (GMT) |
Sculpt dyntopo: change brush defaults and fix bug * Changed brush defaults a bit. New defaults are for organic modeling. * autosmooth_fset_slide now defaults to 1, so face set boundaries are smoothed but stick to mesh surface (if 0 they would function as hard edges). * Weight by area smooth mode is on by default for all brushes. * Cleaned up versioning code and made it kick in at 3.00:21, with some simple checks to try and detect existing data from beta testers. * Also fixed a small crash bug. |
September 2, 2021, 07:02 (GMT) |
Merge branch 'master' into temp_bmesh_multires |
September 2, 2021, 04:32 (GMT) |
commit before merge |
September 1, 2021, 18:47 (GMT) |
Sculpt dyntopo * Wrote a simple fix for drawing face sets in inverse (ctrl) mode with face set automasking on. * Various fixes related to hard edges and smoothing. * Started writing some code to defragment bmesh mempools. Need to figure out how to avoid triggering excessive PBVH node rebuilds. |
August 30, 2021, 22:04 (GMT) |
Sculpt dyntopo: Dynamic field-propegated topology rake I might write a paper on this. Topology rake now locally updates a vector field, which it uses to smooth the input and constrain to mesh (including face set) boundaries. This can make an enormous difference for things like smoothing. Note that this is different from the existing 'curvature rake' mode, which also builds a field and which is fed into the input of this new one. The only oddity is that the field is stored in a CD_PROP_COLOR since we don't have a CD_PROP_FLOAT4, and this shows up in the UI (not sure if I'm messing up the CD_TEMPORARY flags or if the UI doesn't check for them). |
August 29, 2021, 23:05 (GMT) |
Sculpy dyntopo: fixed various topology bugs * Fixed crash in dyntopo collapse. The loops around vertex iterator dyntopo uses doesn't actually work on non-manifold meshes, or meshes with invalid normals, this was not being checked in pbvh_bmesh_collapse_edge. * Rotate tool now works with dyntopo. |
August 28, 2021, 22:33 (GMT) |
Sculpt dyntopo: another bugfix from today's earlier commits |
August 28, 2021, 21:59 (GMT) |
Fix a few bugs in lat commit |
August 28, 2021, 20:59 (GMT) |
fix missing curly braces |
August 28, 2021, 20:30 (GMT) |
Sculpt dyntopo: Fix bug with edge collapse |
|