Sign in to follow this  

Tessellation Factor that preserves vertexes

Recommended Posts



I have a working tessellation shader but am not getting the results I hoped for. The shader works Ok but the visual effect is problematic. I base my tessellation factor on a distance from the viewer and can see the new triangles being created as I move around my model. However the generated vertexes also get destroyed as I move to higher tessellation factors and this causes some horrible visual effects. I had hoped to google up a tessellation factor which would add vertexes, but not remove previously generated ones, but I can't find anything that describes it.

In a naieve manual tessellation scheme I would subdivide my control points into triangles, then get the centroid and subdivide again (my triangles are all quad based so this would give a reasonably even distribution of roughly equalateral triangles). Each step of further subdivision would build on the previous one and no generated vertexes are lost as I make the model more detailed.

The hardware tessellator doesnt attempt this scheme - it retriangulates my control point interior in a mathematically correct way to achieve the best number of even triangles - but in doing so it does not attempt to preserve or build on the previous tessellation output.

Is there a way to achieve a steady tessellation along the naieve lines I describe ? Is it just a matter of controlling my tessellation factors "manually" (having a set of known values which achieve my expected results) rather than allowing the tessellation factor to be calculated entirely based on distance ?




Share this post

Link to post
Share on other sites

I guess you have to double or half the tesselation factor instead of smoothly increasing / decreasing.

So that you get 2, 3, 5, 9... verts per edge when zooming in and 9, 5, 3, 2 when zomming out - you get what i mean.

This way the middle vertex is preserved as long as it's visible, but new vertices just pop up (or disappear) and there is no smooth transition anymore.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this