“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 maintain as an ongoing personal project.
It provides a modern, flexible, & performant data-driven, multi-threaded, experimentation-friendly architecture that I use to grow my knowledge of real-time rendering, computer graphics, and engine architecture.
GitHub Repository: <private: 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.
- Multi-threaded architecture programmed in C++ 20.
- Multiple graphics API backends: Currently supports DX12 and OpenGL, with upcoming Vulkan support.
- Asynchronous copy/graphics/compute pipelines.
- Scriptable rendering pipeline.
- Dynamic shader selection via an scriptable Effect/Technique/Draw Style framework.
- Droid: A custom offline shader compiler & C++ code generation tool.
- EnTT Entity Component System (ECS).
- GLTF 2.0 scene format support.
- Supports skinned animations, morph targets, and key frame node/transform animations.
- HDR physically-based lighting model (As per EA’s Frostbite, Lagarde et al.).
- Image-based indirect lighting.
- Directional, point and spot punctual lighting.
- Soft shadowing (PCF, PCSS).
- Radiometrically-correct screen-space ambient occlusion (Intel XeGTAO).
- ACES Filmic response tone mapping.
- Physically-based camera and exposure settings.
- Physically correct emissive and bloom.
- Camera frustum culling.
- Automatic GPU instancing.
- ImGui menus and a robust suite of debugging tools.
- Support for RenderDoc and PIX programmatic capture APIs.
- And more!