Real-Time 3D Rendering Engine
Vulkan Renderer
A high-performance 3D rendering engine built directly on the Vulkan graphics API — drawing everything from simple geometry to fully procedural, ray-traced visual effects in real time.
- Role
- Solo Developer
- Language
- C++23
- Graphics API
- Vulkan
- Build
- CMake
By the Numbers
- 25M+
- particles rendered simultaneouslyacross all systems
- 5M+
- particles per system
- C++23
- modern language standard
- 1
- draw call per procedural plantno pre-loaded models
Project Overview
Vulkan Renderer is a high-performance 3D rendering engine powered by the Vulkan graphics API. Working this close to the metal keeps overhead minimal and framerates high — whether it's drawing simple geometry or composing complex, real-time visual effects, the renderer has the flexibility and raw performance to push them.
Built With
- Language
- C++23
- Graphics
- Vulkan
- GLSL Shaders
- Ray Tracing
- Compute Shaders
- Techniques
- Particle Systems
- Cube Mapping
- Vertex Manipulation
- Procedural Generation
- Mouse Picking
- Texture Generation
- Tooling
- CMake
Key Features
3D Model Rendering
Dynamic Lighting
Mouse Picking
Particle Systems
Cube Mapping
Vertex Manipulation
Texture Generation
Ray Tracing
Dense smoke particle systems pushing the boundaries with 5+ million particles per system — over 25 million particles rendered simultaneously, all in real time.
Particle engine benchmark
Technical Highlights
Memory Management
Consistent use of smart pointers and RAII patterns ensures efficient memory use and no leaks.
Modern C++
Built with modern C++ features up to C++23 for cleaner, more efficient code.
Graphics Programming
Multiple rendering pipelines and shader techniques work together to create interesting, performant visual effects.
Demonstration
Fully procedurally generated ray-traced volumetric clouds—computed and rendered in real-time. Two procedurally generated ferns with individual leaf physics, rendered in real time using a single draw call per plant — no pre-loaded models required.
Use Cases
Vulkan Renderer is intended for:
- Powering my 3D game/physics engine, ECS3D, or other engines — it drops into any project that builds with CMake.
- Prototyping and experimenting with novel rendering techniques in a well-structured, low-level environment.
- Creating real-time simulations with compute shaders that tap directly into the raw power of the GPU.
Future Development
Advanced Lighting
Global illumination and shadow mapping improvements.
Ray Tracing
In progress — reflections and other lighting improvements.
Atmospherics
Volumetric fog and sky rendering.
Water Rendering
Reflective and refractive surfaces with wave simulation.
Learning Outcomes
Advanced C++ & software architecture
Low-level graphics programming with Vulkan
Performance optimization & memory management
Cross-platform development & build systems
Explore the source
Vulkan Renderer is open source and built with CMake — dig into the implementation.