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. |
August 23, 2021, 09:28 (GMT) |
Sculpt dyntopo: fix mem cache test function, how did this ever work |
August 23, 2021, 08:19 (GMT) |
Dyntopo Sculpt: Wrote new edge split code, currently disabled |
August 22, 2021, 20:31 (GMT) |
I hate default int |
August 22, 2021, 20:16 (GMT) |
Silly me, don't use alloca in this situation |
August 22, 2021, 20:15 (GMT) |
Fix compile error on linux |
August 22, 2021, 19:51 (GMT) |
Sculpt dyntopo: Temp fix for nasty GCC compiler bug on linux. I'll file a bug report with GCC tomorrow. |
August 22, 2021, 17:29 (GMT) |
Sculpt dyntopo: Fix a dumb mistake I made in space_toolsystem_toolbar.py |
August 22, 2021, 03:46 (GMT) |
fix signed/unsigned warning |
August 22, 2021, 03:40 (GMT) |
Sculpt dyntopo: Finished bmesh cache coherency tester To run, in the python console enter: bpy.msgbus.pbvh_bmesh_do_cache_test() The output will be in the regular console. The test build a half-million vert cube and smooths it. It runs several passes (all of which perform the same smoothing operation): 1; Randomized order pass 2. Ordered pass (by vertex clustering) 3. Same as 2 but with a purely data-oriented version of the bmesh structs. 4. Same as 2, but using a version of the bmesh structs with all pointers replaced by integer indices. At least on my laptop #3 and #2 are about a third faster then #1, and #2 tends to be around 15%. |
August 21, 2021, 22:19 (GMT) |
Sculpt dyntopo: Don't allow dyntopo when multires modfier exists Note that thoeretically we could support multires in dyntopo, but numerical instability would probably make the grid data explode. |
August 21, 2021, 03:52 (GMT) |
Sculpt dyntopo: disable mem cache test executable from compiling altogether |
August 21, 2021, 03:49 (GMT) |
Dyntopo: Disable mem cache test executable for now as it doens't link on mac |
August 21, 2021, 03:36 (GMT) |
Sculpt dyntopo: * Fixed multires apply base feeding bad original coordinates to deform modifiers. * Roughed out some code for cache performance testing. * Wrote skeleton code for a PBVH texel API; hasn't been tested yet and may be removed. |
August 19, 2021, 04:43 (GMT) |
* BM_mesh_remap can now reorder loops * Wrote yet another BKE_pbvh_reorder_bmesh function |
August 17, 2021, 21:58 (GMT) |
Sculpt dyntopo: yet another undo bug BKE_pbvh_bmesh_add_face had a branch where it ignored the log_face argument, leading to corruption in BMLog. |
|