A 3D Rendering Engine
Graphx Rendering Engine is a self learning project - later submitted for the major project evaluation in college - to utilize my
potential for 3D maths and programming and to familiarize with the Graphics API's and the graphics programming.
Some Features of the engine
- A complete 3D maths library.
- Other Utilites like logging (using spdlog), GUI
(using ImGUI).
- Event Handling system (Events and Event Dispatchers)
- Separate Rendering API for 2D / 3D objects
- Camera for the scene, movement and rotation
- Textured rendering
- Lighting using Phong shading model
- Loading models from the file system (using Assimp).
- Cubemaps and Skyboxes.
- Point lights and Directional lights.
- Day - Night Cycle
- Multi Textured Procedurally generated Terrain
- Robust Particle Systems
- Batch Rendering for 2D Primitives and Particles
- CPU Time Profiling
- Multi Threading Systems to do tasks on multiple threads
- Instanced Rendering for 3D Objects
Check it out here.