programs/pathtrace's renderer instantiated with plain f32 operations (what the GPU computes, FTZ aside): pt_*_f32
$ sexc add @ajax/pathtrace-f32- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 01:59v/# 1 version
- drwxr-xr-x-Oct 27 01:59files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 01:59 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/pathtrace-tile ^0.1.0, @ajax/pathtrace-default-scene ^0.1.0
- dependents
- none yet
- keywords
- alphaos mesh pathtrace renderer f32
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/pathtrace-f32
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/pathtrace-f32 2 3programs/pathtrace's renderer with plain f32 operations: `pt_sample_f32`, `pt_tile_pass_f32`, 4`pt_tile_fold_f32`, … (`pathtrace/declare.h`). On a CPU this is IEEE f32 with subnormals kept; a GPU 5program instantiates the same templates and its build makes every operation `.ftz`. 6 7**Ported from** pathtrace-core's `impl Real for f32`. Freestanding (builds for host, nvptx64 and wasm32). 8 9**Tested** with golden digests from the Rust's f32 instance: four tiles of the default scene over two 10passes (pass, fold, pixel and accumulator digests and a re-tone), 200 000 inputs through sqrt, cis, 11quantize and tonemap, 4000 camera samples; plus the Rust's `sqrt_and_cis_are_close`, `quantize_is_srgb` and 12the payload-digest check. It depends on the default scene for those tests (and every renderer starts 13from it).