Jump to content
  • Advertisement
Sign in to follow this  
s_akhtar

terrain techniques

This topic is 4527 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 All Can somebody help me with where can i find about techniques used by various games to store and render terrains. Also the data structures of on-disk storage, in-memory storing, and Algorithms for rendering terrains optimally. Thanx in advance :)

Share this post


Link to post
Share on other sites
Advertisement
You can start by looking at the gamedev articles section, which has a wealth of terrain tutorials. However, the basics are quite simple.

Most games use a heightmap, which is quite simply a regular grid of height values that can be rendered as multiple triangle strips, or a single triangle strip with degenerate triangles on the edges. The data structure in memory would simply be an array of floats storing the height of the terrain at each grid point. On disk, this would be a greyscale image or any other simple data format that will store a grid of points of various sizes.

More advanced topics that speed up rendering include level of detail (google for: ROAM, geomipmapping), clipping (frustum culling with quadtrees, octrees, or bsp trees), occlusion culling (don't render polygons behind a tall mountain), multitexturing, and self-shadowing.

Share this post


Link to post
Share on other sites
Geometry Clipmaps

The advantage over other techniques : very light on the CPU (most computing's going on the GPU) and smooth transitions ! No more terrain popping where the meshs is refined / simplified !!

Oh, and the US dataset rendered at 60 FPS (with the non-optimized version) ... not bad, performance wise ^^

And if you want a lot of documentations, vterrain.org is what you need.

Happy new year, by the way ^^

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!