Skip to content

raw-native 0.8.0

Latest

Choose a tag to compare

@HarperZ9 HarperZ9 released this 14 Oct 21:07

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.8.0 makes the lit scenes of 0.7.0 pass more of their own checks: screen-space reflections that know when a ray went behind a surface, near-plane clipping in the rasterizer, a path tracer that splits its light into diffuse, specular and emission, a Mandelbulb that passes its march bounds, and correctly rounded division in the engine's own rasterizer.

Download and run

File Platform
raw-native-0.8.0-windows-x64.zip Windows 10 or 11, x64. CPU only, static runtime, no installer.
raw-native-0.8.0-windows-x64-d3d12.zip Windows 10 or 11, x64, with the D3D12 backend. --gpu needs a hardware GPU.
raw-native-0.8.0-linux-x64.tar.gz Linux x64 with glibc 2.38 or newer.
raw-native-0.8.0-wasm.zip Browser or Node: the CPU build and the WebGPU build. Also published loose.
raw-native-0.8.0-viewer.zip 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

  • Screen-space reflections that see behind a surface. SSR marches one step a pixel and reads a second, peeled depth layer, so a ray that enters a solid through a face the camera cannot see ends as a miss. SSR on raw-hall's nave passes its bounds: 90.53% correct and 9.55% false hits, from 68.3% and 11.8%.
  • Near-plane clipping. Triangles that cross the camera plane are clipped instead of dropped, so close views keep their ground. GTAO and SSR on raw-hall's gallery now pass.
  • Path tracer split radiance. Diffuse, specular and emission radiance, the two albedos and their variances, on the CPU and on the GPU. Every earlier output keeps its bytes.
  • Mandelbulb march. The surface refinement keeps its bracket in double-float, and the bulb passes its unchanged bounds on WARP and SwiftShader.
  • Correctly rounded division in the rasterizer. D3D12 permits approximate division, so the rasterizer now divides in integer arithmetic, rounded to nearest even, checked on 67 million random pairs.
  • Hardware track. Inline ray queries, three-run hardware timings, and the first ray reconstruction models with their dataset tools. Model v3 beats SVGF on tone-mapped PSNR but fails on FLIP, temporal stability, RTX parity and the 2 ms budget; all are recorded as failures.

Upgrading from 0.7.0

  • The 0.5 include paths (raw/render.hpp, raw/vec.hpp and 26 more) are removed. Include raw/<layer>/<name>.hpp. They were due for removal in 0.7.0 and stayed one release longer by mistake.
  • API snapshot 3: two SsrParams defaults changed. api/snapshot-3/MIGRATION.md says how to keep the old behaviour.

The full list, with every bound and evidence file, is in CHANGELOG.md.

Merged after the tag

Shader lab 4 landed on main around the release, after the tag commit (5dd27ef), so it is not in these assets and ships in the next release:

  • #122: a pixel-locked CRT shadow mask and the pvm-20-soft preset.
  • #126: temporal stability of the dither modes, measured (tools/shaders/dither_temporal.mjs).
  • #128: the lab 4 blind panel results; the pixel template now uses mix-bayer4.

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 4222e191...). raw_native_cli verify passes on the wasm and D3D12-build outputs.
  • Both identity goldens were re-rendered. Only the certificate and receipt files, which carry the version string, changed; every image and AO file keeps its hash. GCC 13.3 matches both goldens on every file; the packaged Windows CLI matches the identity golden (11 cases, 109 files).
  • ctest passes 60 of 60 with MSVC and with GCC 13.3. CI passed 15 of 15 jobs on this commit.
  • The packaged viewer rendered raw-hero and raw-hall verified in Chrome on SwiftShader, inside the Studio at desktop and phone widths.
  • Not checked for this release: a render on a hardware GPU. The RTX 4090 was held by other work.