Vulkan Renderer

   



Work in Progress, More to Come Soon!​​

This project is a Vulkan engine I made over a month to gain a deeper understanding of the Vulkan API. It’s still in development and will be heavily improved with the addition of more planned features, such as the integration of multiple graphics APIs, a level editor, bindless rendering, etc. The goal is for this to become a general 3D engine I use for my future games. Checkout Bubble Blaster which is a game I made using this engine for a 2 day game jam.

  • Engineered a high-performance 3D renderer in C++ using Vulkan, designed to scale with an Entity Component System framework, automating a lot of the Vulkan code.

  • Developed an advanced lighting system supporting directional, spot, and point lights, implementing Phong and Physically Based Rendering for realistic lighting.

  •  Developed and optimized skeletal animation calculations, achieving 0.008 nanoseconds – 0.01 microseconds per frame per model, enhancing performance and efficiency

  • Implemented multi-material support, integrating diffuse/albedo, normal, roughness, metallic, ambient occlusion, specular, and emissive maps, with dynamic texture mipmapping for optimization.


  • Optimized rendering performance with frustum culling, reducing overhead by excluding out of view objects and bypassing unnecessary animation bone transform calculations.