Saber Engine (2022 – ongoing)

“Ideally, a Jedi took many months to construct a single perfect weapon that he or she would keep and use for a lifetime. Once you build it, the lightsaber will become your constant companion, your tool, and a ready means of defense.” – Luke Skywalker

Saber Engine is an API-agnostic real-time rendering engine framework that I actively maintain as a personal project.

It offers a modern, flexible, and high-performance multi-threaded architecture, designed for data-driven development and experimentation. This framework serves as a platform for me to deepen my understanding of real-time rendering, computer graphics, and engine architecture.

GitHub Repository: <Currently private at the request of my employer: Please contact me to request access or a build>

Additional screenshots and a video recording of the engine will be posted here soon. Please contact me to request a demo build.

Saber Engine is continuously evolving. Its current features include:
  • Multi-threaded architecture implemented in C++20
  • Rendering API-agnostic: Supports:
    • DirectX 12 (Agility SDK 1.611.2) (default)
    • OpenGL 4.6
    • Upcoming Vulkan support
  • GPU-accelerated ray tracing (DXR)
  • Supports both bindless and slot-based resource binding models
  • Asynchronous copy/graphics/compute pipelines
  • Scriptable rendering pipeline:
    • Graphics systems are implemented using a high-level, API-agnostic abstraction layer and combined through input/output dependencies defined in .json
    • Dynamically generates an optimized, thread-safe render graph at runtime
  • Droid: A custom offline shader compiler and C++ code generation tool
    • Effects/Techniques/DrawStyles are described via .json for dynamic runtime shader resolution
  • Entity Component System (EnTT)
  • GLTF 2.0 format support (cgltf)
  • Advanced rendering features:
    • Animation: Skinning, morph targets, and keyframe node/transform animations
    • HDR Physically-Based Lighting Model (based on EA’s Frostbite, Lagarde et al.):
      • Image-based indirect lighting
      • Directional, point, and spot lights
    • Soft shadows: PCF & PCSS
    • Radiometrically-correct screen-space ambient occlusion (Intel XeGTAO)
    • ACES filmic response tone mapping
    • Physically-based camera & exposure settings
    • Physically-based emissive lighting & bloom
    • Camera frustum culling
    • GPU instancing:
      • Automatically detects and combines instanceable batches into single draw calls
      • Supports GLTF’s EXT_mesh_gpu_instancing extension
  • Interactive UI (ImGui):
    • Supports drag-and-drop loading of .gltf and .hdr files
  • Comprehensive debugging tools:
    • Real-time CPU/GPU frame timers
    • Support for RenderDoc and PIX programmatic capture APIs
  • Asynchronous, reference-counted resource loading inventory system
    • Supports work stealing
And much more!
Scroll to top