Graphics Reference
In-Depth Information
There's moreā€¦
It is important to note that the low-poly mesh has already been transformed (by the animation
code) into the appropriate pose before the tessellation, and therefore, we have been able
to increase the smoothness of the mesh (especially for contours and silhouettes) without
increasing the animation cost.
There are a number of other techniques that can be used for mesh refinement or subdivision.
Curved PN Triangles (Vlachos, Peters et al. 2001) is one such technique that also allows
local mesh refinement with similar results to Phong tessellation; however, this is a more
computationally expensive algorithm (Boubekeur and Alexa 2008). This algorithm does
keep the vertices closer to the original bounding mesh as opposed to Phong tessellation's
more bulging appearance. Other implementations such as Approximating Catmull-Clark
Subdivision Surfaces with Bicubic Patches (Loop and Schaefer 2008), or Approximating
subdivision surfaces with Gregory patches for hardware tessellation (Loop, Schaefer et
al. 2009) may provide more flexibility and more exact results. However, they also require
significant additional asset workflow or some preprocessing to implement and incur a larger
computational cost.
See also
F Chapter 6 , Adding Surface Detail with Normal and Displacement Mapping , will look
into more detail at tessellation and displacement mapping
F Refer to the Phong tessellation paper and video at: http://perso.telecom-
paristech.fr/~boubek/papers/PhongTessellation/
F Refer to Approximating Subdivision Surfaces with Gregory Patches for Hardware
Tessellation at: http://research.microsoft.com/en-us/um/people/
cloop/sga09.pdf
F Refer to the implementation of Curved PN Triangles that can be found within
Shaders\TessellatePNTri.hlsl for comparison.
Optimizing tessellation through back-face
culling and dynamic Level-of-Detail
As we saw in the previous recipe, the number of generated triangles from tessellation can be
quite high, and the most obvious optimization is to exclude any triangles that are facing away
from the camera. This is called back-face culling. We will also look at how we may implement
dynamic Level-of-Detail (LoD) by changing the tessellation levels, depending on whether the
triangles are silhouetted or aligned roughly perpendicular to the camera view.
 
Search WWH ::




Custom Search