Jump to content
  • Advertisement
Sign in to follow this  
  • entries
    557
  • comments
    1237
  • views
    423492

Holy GeoMipMaps, batman!

Sign in to follow this  
Evil Steve

186 views

Hooray! GeoMipMaps are done. I did it in a slightly odd way though. I'll talk about what I did after I show you my ultimate screenshot of awesomeness:
GeoMipMap hillarity
The odd thing is that I didn't use multiple index buffers. Instead, I used one index buffer and wrote (by hand) a 1300 line function to fill it. In the function there's something like this:

switch(thisLOD)
{
case thisLOD:
Output centre of tile to index buffer
switch(northLOD)
{
case northLOD:
Output skirt linking thisLOD -> northLOD to index buffer
break;
}
break;

switch(southLOD)
{
case southLOD:
Output skirt linking thisLOD -> southLOD to index buffer
break;
}
break;

switch(westLOD)
{
case westLOD:
Output skirt linking thisLOD -> westLOD to index buffer
break;
}
break;

switch(eastLOD)
{
case eastLOD:
Output skirt linking thisLOD -> eastLOD to index buffer
break;
}
break;
}


Each tile LOD can link to any other LOD greater than it, and there's 5 LOD levels. So LOD 5 (3x3 vertices) has to link north to LOD levels 1,2,3,4 and 5, link south to LOD levels 1,2,3,4 and 5, link west to LOD levels 1,2,3,4 and 5 and link east to LOD levels 1,2,3,4 and 5. So it's a pretty damn big switch statement.
I just discovered that sometimes random holes pop up in the terrain, but that only happens if I only render some chunks (I clip them against the frustum). So I think that's an issue with my rendering rather than the GeoMipMapping. Well, I bloody hope it is [smile]

I discovered VNPerfHUD today as well, so I'll go see how well my terrain renderer plays with it now I have GeoMipMapping. Unfortunately I only have a GeForce 4, so I can't get access to some of the snazzy features like GPU idle time. I'll see if I can get the program running on my sisters GeForce FX, that should tell me more info.
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

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
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!