Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Engine Development
  3. Oryol

Oryol

MITC++

A small, portable and extensible C++ 3D coding framework for cross-platform graphics applications.

GitHubGitHub
2.1k stars203 forks0 contributors

What is Oryol?

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.

Target Audience

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.

Value Proposition

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.

Overview

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

Use Cases

Best For

  • Building lightweight 3D applications for the web with emscripten/WebGL
  • Developing cross-platform games targeting desktop and mobile devices
  • Creating embedded graphics applications on Raspberry Pi or similar hardware
  • Prototyping 3D visualizations with minimal overhead and fast iteration
  • Educational projects learning graphics programming with a simple C++ framework
  • Integrating third-party libraries via modular extensions for UI or audio

Not Ideal For

  • Projects requiring Vulkan or DirectX 12 rendering backend support
  • Teams that need active framework maintenance and regular updates
  • Applications demanding built-in, high-level features like physics engines or advanced UI systems
  • Developers seeking a large community or extensive third-party ecosystem

Pros & Cons

Pros

Cross-Platform Rendering

Supports GL, GLES2, WebGL, Metal, and D3D11 from the same shader source, enabling consistent graphics across diverse platforms without rewriting code.

Minimal Executable Sizes

Produces compact binaries, with emscripten WebGL demos starting around 100 KB, making it ideal for web deployments and resource-constrained environments.

Orthodox C++ Design

Follows clean, maintainable coding practices as per Orthodox C++ guidelines, ensuring the codebase is easy to understand and extend for developers.

Extensible Module System

Allows integration of external code modules via git repositories, facilitating customization and use of third-party libraries like Dear ImGui or audio systems.

Cons

Inactive Maintenance

The project is explicitly not actively maintained, with last updates in 2017, leading to potential compatibility issues and lack of support for modern developments.

Missing Modern APIs

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.

Complex Build Setup

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.

Frequently Asked Questions

Quick Stats

Stars2,063
Forks203
Contributors0
Open Issues48
Last commit3 years ago
CreatedSince 2013

Tags

#emscripten#opengl#embedded#portable#graphics-framework#3d-graphics#c-plus-plus#game-development#webgl#cross-platform#fips

Built With

E
Emscripten
W
WebGL
C
CMake
P
Python
M
Metal
O
OpenGL
D
D3D11
C
C++

Included in

Game Engine Development1.3k
Auto-fetched 1 day ago

Related Projects

C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars71,654
Forks8,303
Last commit8 days ago
ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,328
Forks16,151
Last commit1 day ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars49,889
Forks7,410
Last commit1 day ago
BlazorBlazor

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

Stars38,012
Forks10,688
Last commit23 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub