Terrain Rendering

Especially large-scale terrain rendering is quite challenging. LOD (Level of detail) methods were invented to deal with large meshes by reducing the overall triangle count, while space partitioning methods such as quad trees cull unseen triangles.

Coordinate System

We have quite a few coordinate systems. The most important one are the world coordinate system, objects in this one will be rendered, and the matrix coordinate system. The latter one is used for energy space diffusion as well as heightmap lookups:

Coordinate_System.png

Space Partitioning

Resources

Prototyped

Integrated the quadtree from [http://www.codeplex.com/quadtreeload] into our framework. Had to change quite a lot to have it suiting our needs. Also fixed a few bugs... now it runs very nicely.

LOD

Resources

Prototyped

We experimented with a few stripped versions of the paper Geometry Clipmaps to achieve an LOD implementation:

  • GeometryClipmap.png
  • GeometryClipmap2.png
  • GeometryClipmap3.png
  • GeometryClipmap4.png
  • GeometryClipmap5.png

We got a lot of problems with popping as well as temporal aliasing. While we could get rid of some problems, a lot remained and since we turned from a camera with fixed to a camera with arbitrary orientation we had to look out for other approaches. We found some great implementations of game engines using terrains. All of them do not use LOD but rely on frustum culling. So we decided to give it a try...

TestLOD

Well, quadtrees with frustum culling are great... but LOD would give us so much better closeups. Since terraforming is a keyfeature, we decided to run some more tests on LOD and after reading tons of papers, I can assure its a mess. I spent 2 days to have a prototyp up and running with only 3 levels of LOD... none of them yet procedural... But I also think, that the hardest part is now behind us.

Geometry Supersampling

External Resources

-- ThaboBeeler - 25 Feb 2008
I Attachment History Action Size Date Who Comment
PNGpng Coordinate_System.png r2 r1 manage 9.6 K 2008-02-27 - 10:53 ThaboBeeler  
PNGpng GeometryClipmap.png r1 manage 12.7 K 2008-02-25 - 16:03 ThaboBeeler  
PNGpng GeometryClipmap2.png r1 manage 15.9 K 2008-02-25 - 16:03 ThaboBeeler  
PNGpng GeometryClipmap3.png r1 manage 11.2 K 2008-02-25 - 16:04 ThaboBeeler  
PNGpng GeometryClipmap4.png r1 manage 15.0 K 2008-02-25 - 16:04 ThaboBeeler  
PNGpng GeometryClipmap5.png r1 manage 22.4 K 2008-02-25 - 16:04 ThaboBeeler  

Page URL: https://twiki.graphics.ethz.ch/bin/view/GameClass/TeamETerrainRendering
2025-07-25
© 2025 Eidgenössische Technische Hochschule Zürich