programs/pathtrace's tiles: a column's pass sums and digests, the fold into accumulators, re-toning, whole tiles; and the header that instantiates the renderer
$ sexc add @ajax/pathtrace-tile- 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-math ^0.1.0, @ajax/pathtrace-scene ^0.1.0, @ajax/pathtrace-digest ^0.1.0, @ajax/pathtrace-intersect ^0.1.0, @ajax/pathtrace-sample ^0.1.0, @ajax/pathtrace-tonemap ^0.1.0
- dependents
- @ajax/mesh-prog-pathtrace, @ajax/pathtrace-f32, @ajax/pathtrace-z
- keywords
- alphaos mesh pathtrace tiles template
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/pathtrace-tile
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/pathtrace-tile 2 3A tile's columns and whole tiles: a column's pass sums and digest (`column_pass`), the fold of one pass 4into the accumulators followed by the tone map (`fold_column`, `retone`), and the same over a tile on one 5thread (`tile_pass`, `tile_fold`, `tile_retone`) — one column a GPU lane, or 32 columns in a loop on a CPU 6or wasm thread. The accumulation order is fixed, so a tile rendered pass by pass or all at once has the 7same bits. 8 9Also the two headers that make the renderer usable: `pathtrace/instantiate.h` (define the float contract 10of `@ajax/pathtrace-math`, include this, get every function) and `pathtrace/declare.h` (the prototypes for 11one suffix). Template headers, freestanding. 12 13**Ported from** `crates/pathtrace-core/src/lib.rs` (`col_digest`, `column_pass`, `fold_column`, `retone`, 14`tile_pass`, `tile_fold`, `tile_retone`). **Tested** through the renderer golden tests. 15 16## Differences 17 18- Rust's `(u64, u64)` digest pairs are out parameters.