Our terrain generation and 3D rendering engine for our software quality course.
This project was built using Visual Studio, building with other platforms should not be too different.
Steps for VS:
- clone or download the project
- create a new VS project in the new directory
- go to the project's properties > C/C++ > additional include directories > add
$(ProjectDir)Libraries\include
- in the Linker tab > general > additional library directories > add
$(ProjectDir)Libraries\lib
- in the Linker tab > input > additional dependencies > add
glfw3.lib
- in the General tab, make sure you are using C++20 or latter
OpenGL abstraction:
- VBO/IBO/Shaders
- Mesh
- FBO
- On-the-fly shader recompilation
Terrain:
- Heightmap generation
- Mesh generation
- Realistic generation (=erosion)
Monde:
- Features (trees/grass...)
- Skybox
- Clouds
- ? Day/night cycle
- Rivers/Oceans
Camera:
- Player movements
- Perspective/Isometric
VFX:
- Ambiant shadows
- Casted shadows
- ? Ambiant occlusion
- HDR
- Bloom
- Vignette
- Distance fog
- Dirt mask
Animations:
- Mesh animations
- ? Wind
- ? Rain
- Nuages
- ? Day/night cycle