top of page
322.png

TERRAIN GENERATION

University Work, C++

Building and implementing Procedural Generation (Diamond and Square) to help create a terrain. 
Below you can find a video of my project running.

Terrain Generation: Project
Terrain Generation: Video

GitHub Link: https://github.com/ThomasWalsh18/TerrainGenerator

​

Intro

This module was about learning the different techniques that can be used to create procedural terrain. I was tasked with creating a working Diamond and Square algorithm and apply it to a terrain. This would decide the height map, which could then be expanded upon by adding light, normals, and blended textures.

After creating the still terrain, extra detail was needed, this came in the from of a skybox, water with an animation, trees and leaves. The skybox was created in such a way that no seems between the six textures where visible. The water was another terrain that was given an translucent texture, and an animation that was done in the shader. The trees where created by using simple lines created at procedural points across the terrain.

​

Skills

I learnt a large amount about the GLM and OpenGl libraries as these where the corner stones of this project. I also learnt various different optimisation methods, this was because the project required these to run at a decent frame rate. One such optimisation method would be the use of instanced objects for the leaves. This method is instead of drawing several hundred leaves I could simply draw one copy this leaf for each tree.

Terrain Generation: Text
bottom of page