An OpenGL application which generates a terrain geometry and renders the 3D scene on the GPU. A camera, pictorially illustrated in the global view, follows a configurable Bézier path through the scene. It was realized as a semester project for an introductory lesson in computer graphics at EPFL.
- Procedural terrain generated by hybrid multi-fractal with Perlin noise function.
- Material texturing based on terrain height and gradient.
- Seamless cube-mapped skybox.
- Self-shadowing using shadow mapping.
- Water reflection, refraction and depth effects.
- Free flying and FPS exploration modes.
- Runtime configurable Bézier camera path: 2 Béziers, 8 control points.
- Animated pictorial camera along the path.
- Particles system: 8000 particles which position and speed are controlled in parallel by the GPU.
- Two (interchangeable) simultaneous views: global and camera.
- Object oriented programing.
- group19: main source code
- docs/reports: reports explaining what has been done
- common: set of provided CMake and headers
- external: provided external libraries
- textures, skybox, duck: texture and vertex ressources
Build and run
cd build cmake .. make ./group19/group19