A computer graphics project developed for the course
DAT205 Advanced Computer Graphics at Chalmers University of Technology.
![]()
Terra-GL is a simple real-time procedural terrain generator written in C++ using OpenGL.
- Basic terrain generation using accumulated Perlin noise
- Camera controls
- Basic lighting and shading
- Height-based color mapping
- Slope-based color mapping
- Triplanar texture mapping
- Reflective water with normal maps
- Day/night cycle with dynamic lighting
- Hydraulic Erosion
- Better Hydraulic Erosion
- Vegetation placement and rendering
- Weather effects (rain, snow, fog)
- Performance optimization for large terrains
- CMake (version 3.5 or higher)
- C++11 compatible compiler
- OpenGL
- SDL2
- Clone the repository:
git clone https://github.com/yourusername/terra-gl.git
cd terra-gl- Create a build directory and configure the project:
mkdir build
cd build
cmake ..- Build the project:
makeAfter building, you can run the application from the build directory:
./project/projectproject/- Main project source codelabhelper/- Helper library from the courseexternal/- External dependenciesscenes/- Scene assets
This is a course project and contributions are not expected. However, if you find any issues or have suggestions, feel free to open an issue in the repository.