> Open
Reality
A declarative, code-first game engine built in Julia. ECS architecture. Immutable scene graph. Four rendering backends.
# Features
Everything you need to build 3D applications, from rendering to physics to audio.
Entity Component System
Compose game objects from reusable components. Functional, immutable scene graph with declarative DSL.
4 Rendering Backends
OpenGL 3.3, Metal, Vulkan, and WebGPU. Choose the right backend for your platform.
Physics Engine
Impulse-based PGS solver with GJK+EPA collision, joints, CCD, and spatial hash broadphase.
PBR Pipeline
Deferred rendering with CSM shadows, IBL, SSAO, SSR, TAA, bloom, and tone mapping.
Animation System
Keyframe and skeletal animation with glTF 2.0 loading. Vertex skinning computed in shaders.
3D Positional Audio
OpenAL backend with AudioListener and AudioSource components. Spatial attenuation built in.
WASM Export
Export scenes to .orsb binary format. Run in browsers via the WebGPU runtime.
Developer Tooling
Rust TUI dashboard, Bazel monorepo management, 656 tests. Built for real development.
# Architecture
A clean pipeline from declarative scene definition to GPU rendering.
Scene DSL ──▶ ECS Store ──▶ Systems ──▶ Backend scene([ EntityID + Physics OpenGL 3.3 entity([...]) Components Animation Metal entity([...]) ComponentStore Skinning Vulkan ]) Audio WebGPU Particles ─────────── Rendering ├─ Deferred PBR ├─ CSM Shadows ├─ Post-processing └─ Frustum Culling
# Code Examples
Expressive, declarative API. Build scenes with composable components.
Hierarchical Scenes
Build scene graphs with parent-child relationships. Child transforms inherit from parents automatically. Materials support full PBR with texture maps, normal maps, and metallic-roughness workflows.
- ✓ Immutable, functional scene graph
- ✓ Automatic transform propagation
- ✓ glTF 2.0 + OBJ model loading
Built-in Physics
Add rigid body dynamics to any entity with just two components. The physics engine handles collision detection, resolution, and constraint solving automatically.
- ✓ 7 collision shapes including convex hulls
- ✓ GJK+EPA narrowphase detection
- ✓ Joint constraints and triggers
Post-Processing
HDR rendering pipeline with configurable post-processing. Choose between Reinhard, ACES, and Uncharted 2 tone mapping, add bloom, FXAA, and more.
- ✓ HDR framebuffer with bloom
- ✓ SSAO, SSR, TAA
- ✓ Depth of field and motion blur