No description
  • C++ 98.2%
  • CMake 1.1%
  • Just 0.3%
  • Python 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-02 21:47:35 +02:00
cmake refactor: update renderpass / pipeline state split 2026-09-18 23:18:02 +02:00
docs add basic skeleton docs 2026-10-01 14:00:52 +02:00
examples fix: opengl backend respects the RenderPassDescriptor 2026-09-29 20:03:12 +02:00
src/2iREN chore: begin prep for repo migration 2026-10-02 21:47:35 +02:00
tests fix: update outdated unit tests for and modules 2026-09-29 18:24:22 +02:00
.clang-format refactor: update RenderCommandEncoder to allow binding buffer ranges. 2026-09-21 23:55:59 +02:00
.gitignore feature: develop metal backend further, now capable of rendering example-01. 2026-09-14 21:23:59 +02:00
CMakeLists.txt refactor: edit buffer and image flags, impl images backend on metal, fix swapchain no size issue 2026-09-19 17:47:10 +02:00
conanfile.py opengl: commandbuffer impl for opengl, performs commands directly no CPU side recording 2026-09-29 05:21:35 +02:00
justfile feature: develop metal backend further, now capable of rendering example-01. 2026-09-14 21:23:59 +02:00
README.md refactor: edit buffer and image flags, impl images backend on metal, fix swapchain no size issue 2026-09-19 17:47:10 +02:00

2iREN

2iREN is a c++23 rendering framework. The code originates from the siren game engine, but has since evolved further.

Building 2iREN

2iREN uses Conan for package management, as well as Just for running commands. To build 2iREN, make sure you have both of these installed.

After cloning the repository, first run:

just configure

To fetch dependencies and configure CMake. Then run:

just build

To build the library.

Dependencies

  • stb: Used for image saving and loading.
  • cgltf: Loading gltf files.
  • yaml-cpp: Used for yaml file parsing.
  • GLFW: Cross platform windowing.
  • glad: OpenGL function loader for Windows and Linux.
  • OpenGL: Graphics API for Linux and Windows systems.
  • Metal: Graphics API for Apple systems.

Running Tests

2iREN uses DocTest. Tests can be run via:

just test

Project Components

2iREN has has various modules (logical modules, not c++ modules) that make the framework.

  • asset:
  • concurrency:
  • core:
  • graphics:
  • input:
  • math:
  • scene:
  • utility:

Examples

2iREN has multiple examples to showcase what can be done using the framework, as well as to demonstrate how to use the API. Examples can be found under:

examples/

The 2iREN examples can be run via:

just example-[name]

2iREN includes a set of examples to show how to use the library. These can be found under /examples.

For a more detailed look into how 2iREN can be used as a framework, checkout oiter.

1 Rainbow Triangle

tri.png

2 Spinning Cube

cube.png

3 Load Shader

Demos loading a simple asset from the VFS. Also shows the yaml like file type for defining 2iREN shaders.

4 Load Gltf (WIP)

Demos loading a mesh from a gltf file using the asset server and rendering it.