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 |
||
|---|---|---|
| .. | ||
| bilinear.rs | ||
| curves.rs | ||
| cylinder.rs | ||
| disk.rs | ||
| mesh.rs | ||
| mod.rs | ||
| sphere.rs | ||
| triangle.rs | ||