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
Platform | Build Status |
---|---|
OSX + Linux (OpenGL) | |
Windows (OpenGL + D3D11) |
- Oryol Core Samples: http://floooh.github.io/oryol/
- Oryol Extension Samples: http://floooh.github.io/oryol-samples/
- KC85 emulator: http://floooh.github.io/virtualkc/
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
- What's New (updated: 22-May-2017)
- How to Build
- Design Manifesto
- 10,000ft View
- Core Module
- IO Module
- Input Module
- Gfx Module
- Resource Module
- HttpFS Module
- LocalFS Module
- System Design Philosophy
- SPIRV-based Shader Pipeline
- WebGL2/RenderPass Merge
- About Webpage Integration (asm.js/wasm)
- Slimmer asm.js/wasm Applications
- 2016 Spring Cleaning
- Tour of 3rd-party Code (2016)
- Gfx Module Changes (2016)
- Tour of the Metal Renderer
- Skeletal Animation System: https://github.com/floooh/oryol-animation
- Dear Imgui integration: https://github.com/floooh/oryol-imgui
- Nuklear UI integration: https://github.com/floooh/oryol-nuklear
- TurboBadger UI integration: https://github.com/floooh/oryol-tbui
- OpenAL based sound module: https://github.com/floooh/oryol-sound
- SoLoud portable audio library: https://github.com/floooh/fips-soloud
See the Oryol Extension Sample webpage for more interesting 3rd-party library integrations.
- Oryol Asset Tools (WIP): https://github.com/floooh/oryol-tools
- Oryol Fileformat Definitions: https://github.com/floooh/oryol-fileformats
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).
- Coding a triangle from scratch OSX, Windows
- Building a standalone app
- Compiling and debugging in QtCreator and CLion