pbrt/shared/src/shapes
Wito Wiala 5038ed8270 basic_intersect for DiskShape computed the plane hit with interval arithmetic where
pbrt uses a scalar (shapes.h: Float tShapeHit = (height - Float(oi.z)) /
Float(di.z)). It produced NaN, and since every NaN comparison is false neither
the t range test nor the subsequent dist2 > radius^2 test could reject it. The
disk reported a hit on every ray tested against it, and the NaN reached dpdu/
dpdv, the shading normal, and the area-light MIS pdf.

NaN is absorbing in the film, so one bad sample poisoned pixel RgbSum permantenly. Wavefront now works
2026-09-03 12:39:56 +01:00
..
bilinear.rs Added gpu config flag, completed light sampling methods 2026-09-02 09:41:14 +01:00
curves.rs More fixes to allow for spirv compilation. Namely, 2026-02-20 21:11:17 +00:00
cylinder.rs Disk and Cylinder stored the phimax parameter raw. It arrives in degrees, while PBRT does radians. This one is embarassing, was causing 50x exposure 2026-09-02 21:59:38 +01:00
disk.rs basic_intersect for DiskShape computed the plane hit with interval arithmetic where 2026-09-03 12:39:56 +01:00
mesh.rs Continuing migration to new pointer API and finishing light implementation 2026-09-01 15:02:53 +01:00
mod.rs Continuing cleanup 2026-05-20 20:14:58 +01:00
sphere.rs Continguing fixes. Some issues with memory leaks 2026-06-05 19:18:13 +01:00
triangle.rs Bunch of logic errors in port of math and sampling functions 2026-09-02 17:21:16 +01:00