“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
- Graphics systems are implemented using a high-level, API-agnostic abstraction layer and combined through input/output dependencies defined in
- Droid: A custom offline shader compiler and C++ code generation tool
- Effects/Techniques/DrawStyles are described via
.json
for dynamic runtime shader resolution
- Effects/Techniques/DrawStyles are described via
- 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
- Supports drag-and-drop loading of
- 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