# Terrain Rendering Algorithms For Dummies

## Recommended Posts

haaaaaaayyyyyyyy i have been having ideas about how to render terrain, so i decided to start reading papers such as "Fast Terrain Rendering Using Geometrical MipMapping". i've been reading through papers about procedural terrain generation, lod, mipmapping, water effects, and all kinds of neat things but im having a little problem with it. i haven't been to a math class since 7th grade. i do not understand the math. but i'm able to grasp mathematical concepts, especially when they are described in code. im wondering if there are any resources for the mathematically challenged? it would be really nice to be able to complete a simple terrain rendering engine without having to learn six years worth of math.

##### Share on other sites
DariusBoone    123
You definitely do not need 6 years of math to understand terrain rendering. I would recommend starting out rendering a simple heightmap and move on from there. You did not mention in your post how much programming experience you have or if you are familiar with a 3D graphics API. If you are not familiar with a 3D graphics API, you will probably need to have a basic understanding of vectors and matrices. They are not complicated subjects; you will not need to be a math wiz to understand them. Check out the articles here on GameDev for more information.

##### Share on other sites
Atrix256    539
This book helped me a lot if you can pick up a copy. It starts with the very basics of heightmaps then moves into more complex LODing schemes and things.

http://www.amazon.com/Focus-Terrain-Programming-Game-Development/dp/1592000282/ref=sr_1_1?ie=UTF8&s=books&qid=1257889512&sr=8-1

##### Share on other sites
Concentrate    181
Actually to make a "terrian" you can just do this :

1) Render a 3d plane using GL_QUADS;

2) Find a planer equation for it

3) Increase all heights from start to mid

4) Decrease all heights from mid+1 to end;

5) Repeat step 3 and 4 for random starting and ending points on the plane, making
sure they start from the at x = 0, or where ever your orientation is.

6) Then "smooth" it out by averaging its neighbor's height.

##### Share on other sites
i understand vertices and have understand matrices enough to work through my problems.

right now I have a system that renders a terrain from a 128 x 128 height map bitmap. i followed several tutorials that generate a mesh.

now im working on rendering a 1024 x 1024 height map by chopping up the vertices into squares.

ive been programming for a while and im generally alright following examples regardless of the language or API's they are using. im learning to use c# and managed directx at the moment but am going to move on to slimdx when i understand more.

thanks for the book recommendation atrix.

##### Share on other sites
Great_White    148
For big terrains you should consider implementing a LOD scheme in order to render them interactively. So begin with a simple LOD schemes like quadtrees or geo-mipmapping approach. After you gain some proficiency on that you can consider more advanced stuff like geometry clipmapping.