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 |
||
|---|---|---|
| .. | ||
| core | ||
| films | ||
| integrators | ||
| lights | ||
| materials | ||
| samplers | ||
| shapes | ||
| spectra | ||
| textures | ||
| utils | ||
| wavefront | ||
| globals.rs | ||
| lib.rs | ||