![]() The linked-list representation is a bit similar to EditMesh, but smaller, simpler, and easier to integrate with the PBVH. ![]() Most of the code lives in blenlib/dyntopo.c and blenlib/pbvh.c. To make adding and removing vertices/faces easy, they’re stored in linked lists rather than the usual mesh arrays. This is enough to quickly calculate the 1-ring for vertices as needed. The paper recommends storing the three triangles adjacent to each triangle, as well as a single adjacent face for each vertex. These operations require adjacency data that is not normally present in Blender’s mesh representation. All three of these operations are implemented, but vertex-merge is currently disabled, as it’s too crashy to use right now. The paper uses three basic operations to update the mesh: collapsing long edges, subdividing short edges, and merging close vertices. The mesh is updated as you sculpt (during the stroke, not just at the end of a stroke.) The tool places restrictions on the lengths of triangle edges to ensure that the topology stays “nice” for sculpting (no long skinny triangles.) The triangle density is constant across the mesh there’s no way currently to make the tool give more triangles in a particular area. It operates on triangles, so you have to convert quads to triangles before using it. The dynamic topology tool allows sculpt mode to change the topology of the mesh as you sculpt. Quick demonstration videos:, High-level Overview It’s getting stable enough to where people might find it fun to play with, so I thought I’d talk a bit about the tool and its current status. The implementation is based off the paper Freestyle: Sculpting meshes with self-adaptive topology by Lucian Stãnculescua, Raphaëlle Chainea, and Marie-Paule Canic. Past couple months I’ve been working on implementing dynamic-topology sculpting for Blender.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |