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 |
||
|---|---|---|
| .. | ||
| src | ||
| build.rs | ||
| Cargo.toml | ||