Ryan GattisGraphics & Systems Engineer
← Projects

Vulkan Voxel Engine

Vulkan 1.3 voxel terrain renderer with OpenXR stereo rendering and multithreaded procedural generation.

  • C++23
  • Vulkan
  • OpenXR
  • GLSL
  • SDL3
  • GLM
  • Dear ImGui
  • CMake

Implementation AI-generated. I designed the architecture, chose the approach, and directed the engineering decisions; the code itself was generated rather than hand-written. Noted here so the nature of the work is clear up front.

Voxel terrain rendered with per-vertex ambient occlusion
Voxel terrain rendered with per-vertex ambient occlusion
Engine layers
3
Terrain generation
Multithreaded
Stereo rendering
OpenXR 6DoF

A Vulkan 1.3 voxel terrain renderer with head-mounted display support. I designed the layer architecture, chose the rendering approach, and directed the system design throughout; the implementation was AI-generated.

Architecture

The engine is structured as three reusable layers, so that nothing in the terrain demo reaches down into raw Vulkan:

  • Vulkan RAII abstraction — device and swapchain lifetime, pipeline construction, buffer uploads, and deferred destruction of GPU resources still in flight.
  • Engine layer — a custom sparse-set ECS and an RAII event dispatch system.
  • Application layer — terrain generation, chunk streaming, and camera controls.

Rendering

Terrain generation runs across multiple threads with frustum-based chunk prioritization, so chunks entering the view are meshed before chunks behind the camera. Per-vertex ambient occlusion is computed at mesh time rather than as a screen-space pass, and FXAA runs as post-processing.

OpenXR integration adds stereo rendering with per-eye coordinate space transforms and head tracking, with a graceful fallback to a desktop window when no HMD is present.

Design notes

The decisions behind the engine are written up in the repository’s docs/ directory — descriptor pool strategy, GPU resource ownership, ECS scaling, multiview stereo, and render pass structure. Those documents are the design record, and they are the clearest evidence of where the engineering judgment sits.