A 3d rendering engine written from scratch in Vulkan. Written in C++ and HLSL, the project was focused on graphics programming and some advanced renderer features, such as collision and instancing.
- Objects in scene are written to a file and can be loaded at runtime
- Supports importing unlimited 3d models to be rendered
- High performance rendering with instanced objects
- Created shaders for phong-blinn lighting with specular highlights
- Custom collision detection using a Bounding Volume Hierarchy tree
- Uses Vulkan's scissors to display an overview of the level
- Engine supports multiple render passes for different render targets, including triangle, and line rendering
- Fully functioning 3d camera that supports omnidirectional movement via matrix calculations