Skip to content

xms0g/abra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Abra

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.

Features

  • 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

Screenshots

Screenshot Screenshot1 Screenshot2

Roadmap

  • SSAO
  • PBR materials
  • Cascaded shadow maps

License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.