v0.1 — 656 tests passing

> Open
Reality

A declarative, code-first game engine built in Julia. ECS architecture. Immutable scene graph. Four rendering backends.

game.jl
656
Tests Passing
4
Render Backends
ECS
Architecture
PBR
Full Pipeline

# Features

Everything you need to build 3D applications, from rendering to physics to audio.

ECS

Entity Component System

Compose game objects from reusable components. Functional, immutable scene graph with declarative DSL.

GPU

4 Rendering Backends

OpenGL 3.3, Metal, Vulkan, and WebGPU. Choose the right backend for your platform.

PHY

Physics Engine

Impulse-based PGS solver with GJK+EPA collision, joints, CCD, and spatial hash broadphase.

PBR

PBR Pipeline

Deferred rendering with CSM shadows, IBL, SSAO, SSR, TAA, bloom, and tone mapping.

ANI

Animation System

Keyframe and skeletal animation with glTF 2.0 loading. Vertex skinning computed in shaders.

SND

3D Positional Audio

OpenAL backend with AudioListener and AudioSource components. Spatial attenuation built in.

WEB

WASM Export

Export scenes to .orsb binary format. Run in browsers via the WebGPU runtime.

CLI

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.

architecture
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
scene.jl
physics.jl

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
render.jl

# Get Started

Clone, install, and run in three commands.

terminal