The ground is procedurally generated using a random midpoint method and smoothed using a neighborhood smoothing filter. The trees were generated by different procedural rules. The scene uses OpenGL material and lighting.
Procedurally Generated Terrain
