Skip to content

JoshuaVHB/MarbleEngine-RayTracing

 
 

Repository files navigation

MarbleEngine

Our terrain generation and 3D rendering engine for our software quality course.

Screenshot at the begining of the project

Final screenshots

final_1 final_2 final_3 final_4 final_5 final_6 final_7

Building

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

roadmap

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

About

Terrain generation & 3D rendering engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 71.6%
  • C 26.7%
  • GLSL 1.1%
  • Objective-C 0.6%