Blake Motl (bmotl) 471 Final Project


Implement realistic terrain through height maps and ambient occlusion.


Terrain is generated through a height map. The user can explore the world. By default, the lighting goes through a cycle, but the user can modify this behavior. The user can turn off animation, to control the lighting location manually and switch between day and night lighting. The skybox helps create a cloudy effect as well hence why during the day the distance can still be dark. A textured skybox was intended to be used, but after building the skybox and applying the default(phong) shader first, I liked the result much more than what a textured skybox could do.

Lessons Learned

         How geometry is generated and represented as arrays of faces and vertices

         2 for loops are better for traversing a 1D array that represents 2D things

         Be careful deleting gl calls when changing the implantation of something.

o   Leads you to think your implementation is broken when it could just be a missing GL call.

Technologies Learned

         Height mapping

         Ambient occlusion (even though I did not complete the implementation).


         Ambient Occlusion

         Height Maps



Here is one using a different height map to confirm the algorithm is working: