Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Please note that Oryol is currently not actively maintained and hasn't been for a long time, my focus is currently on the Sokol headers and (from time to time) on the Chips emulator stuff.


A small, portable and extensible 3D coding framework written in C++:

  • simple Orthodox C++ coding style and APIs
  • extensible through external code modules living in git repositories
  • runs on OSX, Linux (incl RaspberryPi), Windows, iOS, Android, emscripten, from the same C++ source
  • renders through GL, GLES2, WebGL, Metal, D3D11 from same shader source
  • produces small executables (e.g. emscripten WebGL demos starting at around 100 Kbytes)
  • async data loading from web or disc

Build Status:

Platform Build Status
OSX + Linux (OpenGL) Build Status
Windows (OpenGL + D3D11) Build status

Live Demos:

How to Build (Quick'n'Dirty):

You need: cmake, python and your platform's default C/C++ development environment.

> mkdir projects
> cd projects
> git clone --depth 5
> cd oryol
> ./fips build
> ./fips run Triangle

In case of problems or for more detailed build info (e.g. how to work with IDEs) see here: How to Build

Getting Started:

Useful Blog Posts:

Extension Modules:

See the Oryol Extension Sample webpage for more interesting 3rd-party library integrations.

Tools etc.:

Standalone App Demo:

A simple standalone app using Oryol:


Please note that these videos use older versions of the Gfx module, details have changed (and will continue to change at least until the Vulkan and DX12 renderer backends have been implemented).