October 27, 2020, 01:46 (GMT) |
More fixes for dyntopo undo and vertices (face data still isn't implemented). |
October 26, 2020, 09:45 (GMT) |
Added initial support for customdata to dyntopo undo (BMLog). TODO: - Handle face (loop) data - Figure out what to do about edge data (warn user? actually handle it?) - Handle sculpt color undo push nodes properly (shouldn't be hard). |
October 26, 2020, 07:19 (GMT) |
PBVH drawing now properly names attributes. NOTE: I've added a new function, DRW_make_cdlayer_attr_aliases, for this. It's patterned after extract_uvs. The appropriate devs from the draw engine team should take a look. |
October 26, 2020, 05:55 (GMT) |
Fixed SCULPT_dynamic_topology_sync_layers from last commit. |
October 26, 2020, 05:35 (GMT) |
Got sculpt colors to work, needs more testing |
October 26, 2020, 03:00 (GMT) |
pre-valgrind commit |
October 25, 2020, 11:31 (GMT) |
Fixed broken customdata interpolation in dyntopo collapse. Also added support for uvs to dyntopo gpu buffer building code. |
October 25, 2020, 08:37 (GMT) |
Added support for customdata interpolation to dyntopo. It seems fast enough for simple cases, I make no promises that it will be fast in crazy cases lots if there's lots of vgroup layers. Note I still need to interface properly with the sculpt colors code. |
October 25, 2020, 08:07 (GMT) |
Fix bugs in last commit. |
October 25, 2020, 07:32 (GMT) |
Refactored sculpt code to use a new type, SculptVertRef, that replaces much of the usage of integer indices. Meshes and grids simply store the index here, but bmesh stores a pointer to a BMVert. This greatly speeds up DynTopo by reducing the need to maintain flat pointer arrays in bmesh. To prevent the accidental casting of ScuptVertexRef to indices and vice versa SculptVertRef is defined as a struct: typedef struct {intptr_t i} SculptVertRef; There are also two functions to convert flat index indices to SculptVertRefs and back: ScultpVertRef BKE_pbvh_table_index_to_vertex(PBVH *pbvh, int index); int BKE_pbvh_vertex_index_to_table(PBVH *pbvh, SculptVertRef *ref); Note that these functions require the aforementioned maintanance of flat pointer arrays in bmesh, so make sure to call SCULPT_ensure_vertex_random_access(). |
October 25, 2020, 02:41 (GMT) |
Merge performance improvements from trimesh branch into this one. |
October 24, 2020, 23:03 (GMT) |
Submodule update |
October 24, 2020, 23:01 (GMT) |
Merge remote-tracking branch 'origin' into temp_bmesh_multires |
October 24, 2020, 23:01 (GMT) |
commit before merge |
October 19, 2020, 01:10 (GMT) |
* Improved multires projection some more in bmesh_interp.c |
October 18, 2020, 23:12 (GMT) |
COde cleanup |
October 17, 2020, 22:11 (GMT) |
New branch to fix multires topology editing. WIP Changes: * Brought back bmesh_mdisps_space_set, written from scratch using subdiv api, not ccg. * Wrote a function to smooth multigres grids from within bmesh. I might not need it; unless anyone thinks of a use for it I'll go ahead and delete it. Todo: * Purge code of all usages of CCG for multires. This commit: * Wrote a utility function to dump multires displacements into a (new) scene object. * Consequently, I now know that the CCG_based multires code is not compatible with the OpenSubdiv based code. The former produces gaps between grids when converting displacements to object space. |
October 17, 2020, 08:24 (GMT) |
commit multires patch |
|