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.
We will continue on from the point where we left off with the Refining meshes with Phong tessellation recipe.
All the code for implementing the back-face culling methods and dynamic LoD is included as comments ...