Home C++ Lua GitHub Games Math Myself Contact

Hierarchical Clipmapping

I forgot how the idea came to me. Why not just make all your landscape LOD's at power-of-two? It seemed so simple. You can see me getting to it in the LODTest project. So I implemented it and after showing a friend was redirected to this site where I learned I wasn't such a clever guy.

Oh well.

From there I thought - since load was off the hardware - maybe I could expand the horizon by hierarchically setting landscapes, one on top of each other, in exponentially increasing size? Thus was this project born. The whole idea was that way you could render extremely simple landscape meshes while still giving the user a sensation of horizon. I calculated the ratios out to be something like, at close range 1 meter per vertex with a visible horizon of 16 miles or so. I forget. Its all very variable.

The framework is built on top of GLUT. Unlike most projects, in this I use an old set of classes I started working with in my school's graphics projects (wherein we all had to use GLUT).

Whereas you might've noticed cracks in the other LOD rendering project I posted, this one doesn't have that issue. Seams are so much faster to generate and render when all your indexing is done via powers of two. I think the downside is I might've not accommodated for vertex popping. Not to say it can't be done efficiently. At least this project doesn't have the cracking issue inter-patches. I had trouble developing seams between the hierarchy LODs . . .

Download the Source Code Here
Download the Windows Binary Here