This is the culmination of several classes at Humber College in a single semester. I combined projects for three courses (Game Engines 5, Game Physics 3, and GPU Programming) into one codebase.
- GUI using ImGUI
- PBR rendering using a material system
- Memory Preallocation at engine startup
- In-Engine memory monitor
- Allows use of a Game Controller for 3D navigation
- Engine Profiler (Monitors Update, Render, HandleEvents functions)
- Primary rendering engine using OpenGL
- Box, Cylinder, Capsule, and Sphere colliders
- Object selection using Screen Space to World Space raycasts
- Particle-based fluid simulation
- Secondary rendering engine using Vulkan
- Vulkan Phong rendering using multiple lights and multiple textures
- Geometry Shader to display object normals