mmp / pbrt-v3

Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
http://pbrt.org
BSD 2-Clause "Simplified" License
4.92k stars 1.2k forks source link

revisit EFloat implementation #72

Closed mmp closed 5 years ago

mmp commented 8 years ago

The current implementation is based on maintaining an interval, which is fine, but has diverged (already) from the book text.

Krämer's paper "A priori worst-case error bounds for floating-point computation" (http://www.acsel-lab.com/arithmetic/arith13/papers/ARITH13_Kramer.pdf) outlines how to compute bounds using a computed value and an error interval; it would be nice to use his method to fix the bugs that caused the original shift to the interval-based approach (46de256c0f4dab46af04da4e2436a61d10625e23) and get things back in better sync with the book text.

mmp commented 5 years ago

Closing for pbrt-v3. Will revisit in pbrt-v4.