Small Odin + SDL3 GPU sandbox
Current features:
- SDL3 window and SDL GPU setup
- Metal/MSL on macOS, SPIR-V on Linux-ish platforms, DXIL on Windows
- color-only HLSL shader compiled with
SDL_shadercross - GLB mesh loading through Odin's
vendor:cgltf - generic renderer mesh handles, depth testing, and 4x MSAA when supported
- Box3D world with fixed-timestep stepping
- static ground collision and 100 falling Suzanne bodies spawned over time
The project is pinned to Odin dev-2026-07 via mise.toml.
Build and run:
just build-and-runOther useful commands:
just build
just build-release
just runjust build copies assets/ into build/assets/ after compiling.
shaders/hlsl/shader.hlsl is the source of truth. The generated MSL, SPIR-V,
and DXIL outputs are checked in so the project can build without running the
shader compiler every time.
Regenerate shaders:
just shadersCheck that generated shaders are in sync:
just check-shadersThe justfile expects shadercross on PATH.