Dynamic tessellation

Started by
2 comments, last by SuperVGA 2 years, 6 months ago

I'm confused about tessellation. All the docs state that the maximum tessellation for a quad is 64 which effectively increases a 2-triangle quad into 64x64x2 triangles consistently across the original patch/quad. What I've seen online though is dynamic/localised tessellation where particular areas of the quad can be tessellated more than others, sometimes by using a grayscale texture or something similar. I've also seen distance-based demos where it looks like tessellation happens gradually at a particular distance from the camera - so you effectively end up with a round area of tessellation around the camera.

Does anyone know how this can be done?

Advertisement

Just twigged this. I was thinking that you only draw a single quad when tessellating but you can also draw a large grid using triangles and tessellate each triangle based on the control points’ positions.

RobMadison said:

you can also draw a large grid using triangles and tessellate each triangle based on the control points’ positions.

Yes, that is typically how it's done - the vertex shader gets the distance and passes it on to the tessellation control stage, one place or the other, it's decided what the resulting tessellation level will be.

This topic is closed to new replies.

Advertisement