Repository navigation
raw-native 0.7.0
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 ./outWhat 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.mdsays how to update.
The full list is in CHANGELOG.md.
Checked before release
- The default render's
certificate.json,receipt.json,channels.json,frame.ppmand both AO files are byte-identical from the packaged Windows, Windows D3D12, Linux and CPU wasm builds (certificate.jsonSHA-256c8d08312...).raw_native_cli verifypasses 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
verifiedGPU certificate, andverifypassed on it. - The packaged viewer rendered raw-hero and raw-hall
verifiedin 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.