Sign in to follow this  

Geomorphing Problem

This topic is 4378 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, i have added geomorphing to my terrain engine to eliminate the popping effect which occurs when a terrain patch changes it´s geomipmap level. My morphing algorithm is very basic: - Linear interpolation of the affected vertices of the patch with the higher resolution, to the corresponding direction So, the morphing from the lower level patch into the higher level works fine, but when morphing in the opposite direction, after morphing is complete and the lower res patch is then rendered, then popping still occurs very heavy... how can i eliminate this? thanks Gammastrahler

Share this post


Link to post
Share on other sites
Do you mean when moving away from the patch the morphing vertice is going lower than the line segment between the non-morphing vertices? If so, you could clamp the morphing value to the interpolated value before switching level of details.

Share this post


Link to post
Share on other sites
Hmm, i clamp the values already.

Here is part of my code:

v is a vertex from the high resolution patch

a and b are the neighboring verticesof v that form the line segment of the reduces LOD

c is the vertex to morph from v (or vice versa, depending on LOD increase/decrease)


CVertex c = LERP(a, b, 0.5);

if (increaseLOD)
{
node->_geoMipMap[currLevel].vertices[idx] = LERP(c, v, CLAMP(node->_geoMorph._step, 0.0, 1.0));
}
else
{
node->_geoMipMap[currLevel].vertices[idx] = LERP(c, v, CLAMP(1.0 - node->_geoMorph._step, 0.0, 1.0));
}

node->_geoMorph._step += 0.7 * TIME;



[Edited by - Gammastrahler on December 17, 2005 10:31:52 AM]

Share this post


Link to post
Share on other sites

This topic is 4378 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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