A small, portable and extensible C++ 3D coding framework
C++ Objective-C Python C Objective-C++ CMake Other
Failed to load latest commit information.
code Gfx: New window sizing mode for HTML5, track size of an HTML element Feb 14, 2017
data Move IMUI module and samples that depend on it over to oryol-samples Apr 26, 2016
doc README and NEWS updated for new Input module changes Jun 11, 2016
fips-configs emscripten: WebGL2 preparations Aug 23, 2016
fips-generators Bumped the shader code generator version Jan 18, 2017
fips-verbs Fixed wasmtest build script Jul 1, 2016
lib Moved libcurl into external dependency fips-libcurl Jan 14, 2015
tools fips verb to build samples for WebAssembly build-suite Apr 5, 2016
vagrant Changed vagrant synced folder to rsync (nfs doesn't seem to work on O… Oct 9, 2015
web Fixed WebAssembly samples May 13, 2016
.gitattributes remove git lfs and restore files Apr 9, 2016
.gitignore Initial tracing/profiling support with Remotery Feb 8, 2015
.gitmodules Import gliml as fips module Dec 23, 2014
.travis.yml Trying to fix new travis-ci problem on OSX Oct 6, 2016
.vimrc Changed .vimrc to use fips build system Dec 29, 2014
AUTHORS added myself to AUTHORS file Apr 9, 2014
CMakeLists.txt Moved the oryol_add_web_sample cmake macro from fips-include to tople… Apr 27, 2016
LICENSE Initial commit Dec 14, 2013
README.md Added the NuklearUI extension link to README Aug 9, 2016
appveyor.yml Fixed appveyer.yml for new windows build configs Feb 25, 2016
fips Updated fips to use https git url Dec 27, 2014
fips-include.cmake Only try to create WebGL2 context when using webgl2 build config Oct 11, 2016
fips.cmd Silence the fips.cmd on Windows Jan 5, 2015
fips.yml Moved Sound module out, and Paclone and SoundTest samples to oryol-sa… Apr 27, 2016



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, PNaCl from the same C++ source
  • renders through GL, GLES2, WebGL, Metal, D3D11, D3D12 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 https://github.com/floooh/oryol
> 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:

Extension Modules:

Standalone App Demo:

A simple standalone app using Oryol: https://github.com/floooh/oryol-test-app


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).