RyanB
(RyanB)
July 8, 2015, 6:57pm
21
So far this is the best stuff I have found, and its pretty much repeating what I assumed to be the case:
http://sirkan.iit.bme.hu/~szirmay/egdisfinal3.pdf
To cope with this problem, a simple silhouette processing
approach would discard the fragment if the modified texture
coordinate gets outside of texture space of the rendered
polygon. While this is easy to test for rectangles, the check
becomes more complicated for triangles, and is not robust
for meshes that are tessellations of curved surfaces.
For meshes, instead of assuming a planar surface, i.e. a
linear approximation, the local curvature information should
also be considered, and at least a quadratic approximation
should be used to describe the surface farther from the processed
point. On the other hand, to activate the fragment
shader even for those pixels where the mesostructure surface
is visible but the macrostructure surface is not, the
macrostructure surface should be “thickened” to include also
the volume of the height field above it. Of course, the thickened
macrostructure surface must also be simple, otherwise
the advantages of displacement mapping get lost. Such approaches
are discussed in this section.
So it does seem like using curvature is probably the way to go. That most likely means that only smooth chamfered corners will work automatically and there may be some limit to how well it works based on how round the corner is. But I am still not 100% sure since I haven’t had time to read everything.