skip to content
[readonly]

programs/pathtrace's renderer instantiated with plain f32 operations (what the GPU computes, FTZ aside): pt_*_f32

sh
$ 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
==> README.md <==
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).