Original Post
Incase you missed the siggraph video, the slides are still available... *because of the () you need to cut and paste the link it seems... http://ati.amd.com/developer/Eurographics/2007/Tatarchuk-Tessellation(EG2007).pdf The theory is pretty simple. Take a low res control mesh, and subdivide it at runtime on the gpu (based on distance form the camera, ect..). So if you wanted to render a patch of terrian, you would start with a low resolution control mesh, and 'add detail' by tessellating a similar 'simple' quad patch over and over. You then interpolate the heights/uvs to fillin the space between the control mesh points. This is how the xbox 360 game 'viva pinata' did their terrain. However, the paper doesnt give many detials on the actual implementation. Lets assume I have a simple quad, and I want to tessellate it as I move the camera closer. Heres what I dont get... 1.) How do I pass the control mesh 'info' to the 'tessellation' vertex shader? 2.) Assuming I can get the control mesh info to the tessellation shader, how does the tessellation shader itself work? How does it render multiple instances of a mesh in a single draw call? If anyone has a link to an actual implementation of GPU tessellation I would love to see it! Thanks for any help!