Skip to content

smuuule/terra-gl

Repository files navigation

Terra-GL

A computer graphics project developed for the course DAT205 Advanced Computer Graphics at Chalmers University of Technology. alt text

Project Overview

Terra-GL is a simple real-time procedural terrain generator written in C++ using OpenGL.

Features

  • 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

Building the Project

Prerequisites

  • CMake (version 3.5 or higher)
  • C++11 compatible compiler
  • OpenGL
  • SDL2

Build Instructions

  1. Clone the repository:
git clone https://github.com/yourusername/terra-gl.git
cd terra-gl
  1. Create a build directory and configure the project:
mkdir build
cd build
cmake ..
  1. Build the project:
make

Running the Application

After building, you can run the application from the build directory:

./project/project

Project Structure

  • project/ - Main project source code
  • labhelper/ - Helper library from the course
  • external/ - External dependencies
  • scenes/ - Scene assets

Contributing

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.

About

A simple real-time procedural terrain generator written in C++ using OpenGL

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages