Abra is a lightweight, modern rendering engine built on OpenGL, featuring a flexible hybrid Forward + Deferred pipeline.
It’s designed for clarity, experimentation, and real-time graphics research — without bloated abstractions.
- Hybrid Forward / Deferred Pipeline
- Deferred path is fully G-Buffer based, or you can switch to Forward anytime.
- Opaque & Transparent Rendering
- Opaque objects go through Deferred or Forward (depending on your selected pipeline). Transparent objects always render in the Forward pipeline to keep blending sane.
- Instanced Rendering (GPU Instancing)
- Efficiently draw many copies of the same mesh in a single draw call.
- Lighting & Shadows
- Directional Light + Shadow Mapping
- Point Light + Shadow Mapping (cubemap-based)
- Spot Light + Shadow Mapping
- HDR Rendering
- Full HDR workflow with tone mapping and manual exposure control.
- Frustum Culling
- Per-entity and per-mesh culling.
- Skybox Rendering
- Advanced Materials
- Normal Mapping
- Parallax Mapping
- Rendering Infrastructure
- Framebuffers
- Uniform Buffers
- Anti-Aliasing
- MSAA (only avaliable in the forward pipeline)
- FXAA
- Post-Processing
- Modular, extendable post-FX chain (bloom, blur, tone mapping, gamma, etc.)
- Entity Component System (ECS)
- Data-oriented architecture for flexible, efficient game objects.
- Debug Tools
- Normal visualization
- Wireframe mode
- Built-in Models
- Cube – perfect for testing transforms, lighting, and shadow maps
- Cubemap – used for skybox rendering
- Plane
- Screen Quad – for post-processing, deferred pipeline, and blitting
- SSAO
- PBR materials
- Cascaded shadow maps
This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.


