A small, portable and extensible C++ 3D coding framework for cross-platform graphics applications.
Oryol is a small, portable, and extensible C++ 3D coding framework designed for building cross-platform graphics applications. It enables developers to write once and deploy across multiple platforms, including desktop, mobile, and web, while maintaining minimal executable sizes. The framework abstracts rendering APIs like OpenGL, Metal, and Direct3D, allowing consistent shader code across different backends.
C++ developers creating 3D applications, games, or visualizations that need to run on diverse platforms such as Windows, macOS, Linux, iOS, Android, and web browsers via WebGL/emscripten.
Developers choose Oryol for its emphasis on simplicity, portability, and small binary sizes, making it ideal for web deployments and resource-constrained environments. Its extensible module system and Orthodox C++ design offer a clean, maintainable alternative to heavier graphics engines.
A small, portable and extensible C++ 3D coding framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports GL, GLES2, WebGL, Metal, and D3D11 from the same shader source, enabling consistent graphics across diverse platforms without rewriting code.
Produces compact binaries, with emscripten WebGL demos starting around 100 KB, making it ideal for web deployments and resource-constrained environments.
Follows clean, maintainable coding practices as per Orthodox C++ guidelines, ensuring the codebase is easy to understand and extend for developers.
Allows integration of external code modules via git repositories, facilitating customization and use of third-party libraries like Dear ImGui or audio systems.
The project is explicitly not actively maintained, with last updates in 2017, leading to potential compatibility issues and lack of support for modern developments.
Lacks support for newer graphics APIs like Vulkan and DirectX 12, which are mentioned as not yet implemented, limiting its use in cutting-edge applications.
Relies on the custom fips build system with cmake and python, which can be non-standard and more challenging to configure compared to common build tools.