• entries
557
1237
• views
422377

# Holy GeoMipMaps, batman!

151 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:

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.

There are no comments to display.