Skip to content

Reality-Sim evidence harness

One physics solve.
Six cameras. Five ways to see it.

A metal prop bounces past a standing hero next to a 900 K hot orb. Every frame is a single deterministic world-space physics and thermal step, then shaded through a hand-written linear-light ray tracer - Cook-Torrance GGX, Fresnel-Schlick, ACES tonemap - and sampled by six cameras at once. Pure C#, BCL only, no engine, no assets.

30 frames / GIF seed 0xE1D3EE5 (PCG32) linear color + ACES 4 GIFs in 11.7 s GIF89a encoder, hand-rolled
Composite: six camera views on top, then thermal, velocity, physics-force, night-vision and red-stealth thumbnails plus a per-object stats HUD.
Vision-mode composite

thermal K / velocity / phys-force field / night-vision / red-stealth + stats HUD

926 x 364 - six cameras (3x2) over five false-color passes, all read from one shared G-buffer. Thermal is real per-body state: bodies relax toward 293 K ambient and pick up inverse-square radiant heat near the orb.

The render triad

Beauty, debug, proof - same solve, three lenses

Six-camera beauty render of the hero, metal prop and glowing hot orb on a ground plane.
Beauty pass

motivated key + 900 K orb glow + sky fill

488 x 246 - full Cook-Torrance GGX shade with soft shadows and 6-sample AO.

Beauty render overlaid with collider wireframes, velocity and force vectors, surface normals and reflection rays.
Debug overlay

colliders / velocity / force / normal + reflect ray

488 x 246 - contact point, R = I - 2(I·N)N reflection, material-id chips.

Six-camera render lit by a single flat neutral sun so the physics reads plainly.
Proof pass

flat neutral sun, cause-legible

488 x 246 - one white sun, minimal glow, so the bounce and settle read without drama.