lightcraft/crates/gpu
Brandon Thomas 07c3f0261c M5.2d: geometry resample on the GPU
The source is uploaded once per view (kept with the GPU stages) and resampled on
the device: orientation as an integer pixel map, the Mitchell area prefilter
with the CPU's exact taps, then one bilinear resample through the
crop/straighten/flip affine or through the full warp (inverse perspective,
manual distortion, embedded DNG WarpRectilinear per plane, lateral CA, manual
and embedded vignetting gain, blank outside the source). `Frame::sample_plan`
(new) decides prefilter size and mode for both renderers; sources larger than
the device's buffer limit are still resampled on the CPU.

Equivalence: all 8 orientations with and without crop/straighten/flip, embedded
lens + perspective: max 1 LSB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 02:34:40 -04:00
..
src M5.2d: geometry resample on the GPU 2026-10-01 02:34:40 -04:00
tests M5.2d: geometry resample on the GPU 2026-10-01 02:34:40 -04:00
Cargo.toml M5.2a: lightcraft-gpu crate (wgpu compute) with the per-pixel stage on the GPU 2026-10-01 02:29:54 -04:00