This project was programmed over the course of a week with the intention of deepening my understanding of the OpenGL graphics pipeline more specifically the tessellation stage. In order to explore the tessellation shader I created this simple project which uses both tessellation and fractal perlin noise in order to generate terrain.
The terrain generation works by generating a horizontal 2D grid mesh on the XZ plane. Next this data is sent to the GPU and the grid is sub-divided by a given amount via the uniform variable divCount (default value 16) in the tessellation control shader. The next step is in the tessellation evaluation shader where once the position of a vertex is set the y value (height) is determined via a Fractal Perlin Noise function.
- CMake ≥3.25
- GLFW v3.4
- LibMath (personal math library)
User can move and look around via the WASD keys + mouse and E / Q keys for up & down.
- Clone this repository
- In the project root, create a build folder
- Open a terminal inside the
build/folder - In the terminal run the following commands:
cmake ..
cmake --build .
- Open the
.slnfile in the IDE of your choice (note the project has only been tested using Visual Studio 2022) - Press the run button

