A C++ framework for rapid 3D application prototyping, featuring multi-platform support, multiple graphics backends (OpenGL, Vulkan), advanced rendering techniques, and an easy-to-use component-oriented API.
Originally developed as part of an M.Sc. real-time rendering course.
You can read its documentation here.
Features:
- Platforms:
- Windows
- Linux
- Android
- Graphics Backends:
- OpenGL 4.3 (core profile)
- OpenGL ES 3.2
- Vulkan 1.1/1.2/1.3
- Materials:
- Basic shaders like solid color, textured, bump mapping, and more.
- Rendering Paths:
- Forward
- Deferred
- Shading Models:
- Blinn/Phong
- Rendering Techniques:
- SSAO
- PCSS
- HDR/Tonemap
- Scene Loaders:
- JSON-based format (.scene)
- Image Loaders:
- JPEG, PNG, TGA, BMP and more (via stb_image)
- DDS (Microsoft code)
- KTX (via KTX-Software)
- Model Loaders:
- OBJ (via tinyobjloader-c)
- Immediate-Mode GUI (via Dear ImGUI)
- Compute Shader Support
- Component-oriented API