RavEngine is an open-source cross platform C++ 23 based 3D game engine for Windows, Mac, Linux, Android, iOS and more. It is considered an early alpha and should not be used in a production capacity. It is based heavily around the Entity Component System (ECS) design and has a robust collection of samples available, which is good as documentation is minimal.
Features of RavEngine include:
- Fast Parallel ECS, with support for querying by base class
- Multithreaded physics simulation
- 3D spatial audio, including room reverbation modeling
- Automatic memory management handled via reference counting, no garbage collector
- GPU-driven render engine that supports modern rendering APIs (Metal, DirectX 12, Vulkan)
- Fully-programmable GPU particle system, supporting both arbitrary meshes and billboarded sprites
- Physically-based lighting model
- Author shaders in vanilla GLSL
- Declarative user interface system based on HTML and CSS
- Support for SVGs in the UI and for textures
- Built-in multiplayer networking system
- FSM animation blending tree system
- Compute shader mesh skinning with automatic batching
- Programmable audio effect processing system
- AR/VR support via OpenXR integration
- CI/CD-friendly build process powered by CMake
- Quality-of-life features like automatic incremental shader compilation
- Integrates with GPU debugging tools (Xcode Metal Debugger, RenderDoc, PIX, NSight)
Key Links
You can learn more about the C++ based open-source RavEngine in the video below.