Skip to content

raw-native 0.7.0

Choose a tag to compare

@HarperZ9 HarperZ9 released this 12 Oct 17:56
df177d4

raw-native renders a scene on the CPU reference and on the GPU, checks one against the other, and writes a certificate saying whether they agree within committed tolerances. Version 0.7.0 brings lit scenes: physically based materials, punctual and image lighting, cascaded shadows, GTAO, screen-space reflections, TAA, baked lighting, a verified glTF viewer, its own rasterizer and ray tracer, and a numbered C++ API snapshot.

Download and run

File Platform
raw-native-0.7.0-windows-x64.zip Windows 10 or 11, x64. CPU only, static runtime, no installer.
raw-native-0.7.0-windows-x64-d3d12.zip Windows 10 or 11, x64, with the D3D12 backend. --gpu needs a hardware GPU.
raw-native-0.7.0-linux-x64.tar.gz Linux x64 with glibc 2.38 or newer.
raw-native-0.7.0-wasm.zip Browser or Node: the CPU build and the WebGPU build. Also published loose.
raw-native-0.7.0-viewer.zip New: the verified viewer with every file it loads. Serve the folder from any static host and open web/viewer/index.html.

Every archive carries LICENSE (FSL-1.1-MIT) and LICENSE-superstack.txt.

sha256sum -c SHA256SUMS
raw_native_cli --out ./out
raw_native_cli verify ./out

What is new

  • Verified viewer. Open a glTF or GLB file; the page renders it through WebGPU and on the CPU reference and shows both frames, the error map and the certificate. The owned assets raw-hero and raw-hall load with one click. It now ships as its own asset, so a site can host it unchanged.
  • Materials. The glTF 2.0 model with clearcoat, sheen, transmission, volume, iridescence and anisotropy, checked by white furnaces and reciprocity. A white metal under a clear coat stays within 1.12% of a white furnace and at most 5.9e-4 above it. The anisotropic table is generated once and embedded, with its hash checked in CI.
  • Lighting and shadows. Clustered punctual lights, split-sum image lighting, and four stable shadow cascades that match the CPU rasterizer on D3D12.
  • Post. GTAO, screen-space reflections and TAA on the CPU, D3D12 and WebGPU. TAA meets its RMSE (0.442 of single-sample against 0.5) and ghosting (0.0056 against 0.03) bounds.
  • Baked lighting. Radiosity normal maps and ambient cubes, baked by the CPU ray tracer.
  • Own rasterizer and ray tracer. A triangle rasterizer that matches its CPU reference bit for bit on WARP and SwiftShader, a compute-built BVH, a path tracer, and an SDF scene graph.
  • API snapshot 2. The renderer and scene headers are a numbered snapshot with a declaration dump checked in CI and a compatibility suite. Snapshot 2 changed three grid constants; api/snapshot-2/MIGRATION.md says how to update.

The full list is in CHANGELOG.md.

Checked before release

  • The default render's certificate.json, receipt.json, channels.json, frame.ppm and both AO files are byte-identical from the packaged Windows, Windows D3D12, Linux and CPU wasm builds (certificate.json SHA-256 c8d08312...). raw_native_cli verify passes on the wasm output.
  • Both identity goldens were re-rendered with GCC 13.3. Only the certificate and receipt files, which carry the version string, changed; every image and AO file keeps its hash. The MSVC build matches the identity golden (11 cases, 109 files).
  • ctest passes 59 of 59 with MSVC and with GCC 13.3.
  • A 1440 x 900 D3D12 render on an RTX 4090 gave a verified GPU certificate, and verify passed on it.
  • The packaged viewer rendered raw-hero and raw-hall verified in Chrome on an RTX 4090.

Limits

  • Open failures, with bounds unchanged: screen-space reflections on raw-hall (68% and 65% correct against 90%), GTAO on raw-hall's gallery (mean 0.073 against 0.05), and the G-buffer normal identity on raw-hall's column slivers. Each is recorded in evidence/.
  • The plugin C ABI is not built; that part of the API criterion is deferred until a plugin consumer exists.
  • Agreement with the CPU is not agreement with ground truth.

Licensed FSL-1.1-MIT. Version 0.2.0 and earlier stay MIT.