Sign in to follow this  
I_Smell_Tuna

Geomipmapping and Cracking

Recommended Posts

I_Smell_Tuna    96
I've been reading about geomipmapping lately and people always talk about having the problem of their terrain 'cracking' when terrain patches of different levels of detail reside next to each other. I've heard a lot about people solving this by using a 'skirt' on the terrain patches but I think I've come up with a more logical way to handle it. When your creating your terrain patches with your different levels of detail, why not just leave the outer rim of vertices alone and only alter the inner ones? This would keep any cracks from showing since your not altering the edges at all. Not sure if this has already been though of but I figured it would be easier than using 'skirts'. Thoughts?

Share this post


Link to post
Share on other sites
Promit    13246
Quote:
Original post by I_Smell_Tuna
When your creating your terrain patches with your different levels of detail, why not just leave the outer rim of vertices alone and only alter the inner ones? This would keep any cracks from showing since your not altering the edges at all.
This was my first idea for solving the problem. After a number of frustrating days with paper and pencil, I gave up. It sounds pretty good if it can be pulled off, but actually doing it in a completely flexible way (no restrictions on patch detail differences, no hard coded sizes, etc) is extremely difficult. Dynamically patching the indices is much easier to do and provides good results.

Share this post


Link to post
Share on other sites
cody    199
i dont think those cracks are a real problem, you can adapt the vertices between two different lods quite easy.

Share this post


Link to post
Share on other sites
JohnBolton    1372
Quote:
Original post by I_Smell_Tuna
Not sure if this has already been though of but I figured it would be easier than using 'skirts'. Thoughts?

If it were easier than skirts, you would have implemented it already. Skirts are about as easy as it gets.

Anyway, it doesn't sound very hard to do. The size of a patch would be 2N+3 rather than 2N+1. The index buffer values would be computed the same way (except for an offset of 1 in each direction) and you would need additional triangles for the strip around the edge of the patch.

A few years ago, this idea wouldn't be useful because with smaller patches the high-resolution strip around the edge would reduce the savings of LOD dramatically. With current cards, the number of triangles in a patch can be much higher. Roughly, a 17x17 patch would still have 1/4 of the triangles (130) at the lowest LOD (compare to 10 triangles with skirts). However, a 129x129 patch will have only 1/32 of the triangles (1026) at the lowest LOD (compare to 10 triangles with skirts).

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