While generating meshes with a resolution in the less than 10 micron range, we easily ran into tens of millions of triangles. 3ds Max also tended to skip some of the details, leaving horrible "scars" in the mesh, especially if the base mesh was badly shaped.
The existing tools are all based on subdivision of the mesh. This leads to problems when trying to create sharp features. Pure subdivision-based algorithms have a problem with edges that cut across a corner in the shape, creating corners that look like they have "bites" taken out. To address this, one needs to make the mesh fine enough that the "bites" are within the required tolerance.
Maya includes a code (called Feature-Based Displacement) that partially addresses this by adjusting the locations of the created vertices after subdivision, but it is only used for very sharp features. Maya also has problems with uneven adaptation and lacks direct control of the spatial tolerance.
Subdivision-based codes seem to be very sensitive to the quality of the underlying mesh, which is a problem when the starting point is something like an STL triangulation. STLs need to be processed anyway in order to achieve a good unfolding, but still there is usually an abundance of very narrow triangles.
Our algorithm is not based on subdivision at all. Instead it uses direct insertion of new vertices at points of interest, based on a greedy algorithm that chooses the vertex locations by eliminating the largest deviations first. The result is that the inserted vertices very nicely follow the features of the displacement map and effectively eliminates all edges that cut across the displacement features. If the displacement map contains flat regions, effectively no vertices at all are inserted into those regions.
Even with highly optimized meshes some of our path generations for laser engraving took hours. I don't think that the resolutions with extrusion-based 3d printing is yet at a level where the resolution requirements would be high enough to cause significant problems.
The attachment includes an extreme example of a 3d model that was first processed into a depth map in ZBrush and then displaced onto a rough mesh patch. The original triangulation of the model is quite well preserved. A tolerance setting level below the actual spatial resolution of the image results in an accurate reproduction of the aliasing on the vertical features.
Post's attachmentsrhino.png
rhino.png 248.39 kb, 3 downloads since 2012-12-31
You don't have the permssions to download the attachments of this post.