https://github.com/droduit/procedural-terrain-generation
Procedural terrain generator recreating the Swiss topology
https://github.com/droduit/procedural-terrain-generation
cpp epfl fogs generation noise opengl perlin procedural shadows texturing water
Last synced: 8 months ago
JSON representation
Procedural terrain generator recreating the Swiss topology
- Host: GitHub
- URL: https://github.com/droduit/procedural-terrain-generation
- Owner: droduit
- Created: 2017-02-28T21:30:30.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-06-25T21:12:51.000Z (over 6 years ago)
- Last Synced: 2024-10-29T16:32:35.537Z (over 1 year ago)
- Topics: cpp, epfl, fogs, generation, noise, opengl, perlin, procedural, shadows, texturing, water
- Language: C++
- Homepage:
- Size: 49.9 MB
- Stars: 19
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
- Dominique Roduit ([@droduit](https://github.com/droduit))
- Thierry Treyer ([@ttreyer](https://github.com/ttreyer))
- Romain Gehrig ([@RomainGehrig](https://github.com/RomainGehrig))
## Note
This is the result of a team project for the [Introduction to Computer Graphics](http://edu.epfl.ch/coursebook/fr/introduction-to-computer-graphics-CS-341?cb_cycle=min_&cb_section=min_sc) course taught at [EPFL](https://epfl.ch).
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)