Real-time 3D game engine
Perfect shadows, physically-based rendering, and a fully integrated editor. Built on top of Löve, using the OpenGL 4.3+ graphics backend.
OMBRE, named after the French word for shadow, is a real-time 3D game engine developed by Léna Piquet (Froyok) since November 2022.
Rather than struggling with the constraints of general-purpose game engines, OMBRE was designed from scratch with one goal: complete creative and technical freedom. Every system exists to support the development of an unannounced game project.
From the shadow pipeline to the post-processing stack, each component is designed, built and optimized for the exact visual goals of the game it will support.
Every image is captured directly from the engine at runtime. No compositing, post-processing has been made outside the engine. What you see is what the engine is capable of.
Renders
Engine features and rendering showcase
Graphics Programming 2026 showcase
Each feature was implemented to address a specific creative or technical requirement.
Perfect sharp shadows
Shadow volumes implemented via compute shaders for GPU-accelerated performance. Results are stored in a bitmask texture and sampled during the opaque pass resulting in pixel-perfect and alias-free shadows at any distance.
In-engine editor
A fully integrated WYSIWYG editing environment. Live scene authoring, manipulators, property panels, asset management, and real-time preview of every rendering feature. No round-trips between tools needed.
High quality post-processing
A full-screen effects pipeline. From classics like bloom, lens flares, depth of field to less common like halation and haze fog.
Physically based rendering
Modern PBR pipeline using the specular-glossiness workflow for an accurate material response across all lighting conditions.
Advanced materials
Forward renderer supporting transparent surfaces, glass and layered surface refraction.
3D spatial audio
Steam Audio integration for binaural, physics-aware sound spatialization, reverberation and geometry based material absorption.
Physics engine
Jolt Physics integration for high-performance and accurate rigid body simulation.
Hand-crafted global illumination
Hand-placed bounce lights combined with Screen-Space Ambient Occlusion, giving the renderer a tailored and artistic look.
Exponential & haze fog
Screen-space fog passes with full artistic control over density, color, and falloff. Haze blur also adds atmospheric depth.
Built with carefully chosen tools that prioritize fast iteration time, performance, and portability.
Löve
Cross-platform Lua framework providing the window, graphics API, and input abstraction layer.
Linux / Windows
Supporting both Linux and Windows through cross-platform development via Löve's abstraction layer.
LuaJIT 2.1
Primary scripting via Löve enhanced by JIT compilation for near-native performance to achieve stable +60 FPS.
OpenGL 4.3+
Using the latest features of OpenGL rendering backend to exploit the most powerful GPUs.
Jolt Physics
High-performance physics engine for rigid body simulation. Deterministic, multi-threaded, production-proven.
Steam Audio
Audio simulation engine for binaural 3D spatial audio with physics-aware sound propagation.
Dear ImGui
Immediate-mode GUI for the in-engine editor. Fast iteration with no separate tool pipeline.
Follow the engine's development with yearly technical write-ups.
OMBRE Dev Blog #3
Struggles, Steam Audio, basic particles and a bit of user experience.
Read More
OMBRE Dev Blog #2
Transparency, anti-aliasing, physics and many more little things.
Read More
OMBRE Dev Blog #1
A recap of 12 months of development on a homemade game engine.
Read MoreLive task list for the engine, fetched directly from the development notes.
Loading...