droduit / procedural-terrain-generation

Procedural terrain generator recreating the Swiss topology

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Procedural Terrain Generator @ EPFL

Introduction

Procedural terrain generator written from scratch using various procedural technics to reproduce the Swiss topology. The topology is a 3D mesh made of triangles. Among the various methods applied, we find in particular:

  • Noise algorithms to create the height map (Perlin noise, Fractal Brownian motion, Swiss turbulence)
  • Camera modes (Free navigation in the space, FPS like mode, Camera following Bezier curves)
  • Water in motion
  • Reflexion of the landscape in the water
  • Fogs
  • SkyBox
  • Day cycles
  • Snow
  • Shadows of the mountains
  • Texture mapping

The infinite map is fully explorable in 3D and every parameter are adjustable.

How to use

  • Clone the repository in your local workspace
  • Open a terminal at the root folder (the folder containing the whole repo)
  • mkdir build
  • cd build
  • cmake ..
  • make
  • cd project
  • ./project

Authors

Note

This is the result of a team project for the Introduction to Computer Graphics course taught at EPFL.

The project took 7 weeks and was divided into 3 parts:

  • Part I: Procedural generation of terrain (2 weeks)
  • Part II: Advanced rendering (2 weeks)
  • Part III: Animation / Interaction (3 weeks)

About

Procedural terrain generator recreating the Swiss topology


Languages

Language:C++ 67.3%Language:C 29.5%Language:GLSL 2.4%Language:CMake 0.8%