Am 15.06.2013 um 10:40 schrieb Henri Verbeet hverbeet@gmail.com:
Why is this needed? When end == start I'd expect (end - c) / (end - start) to evaluate to +/-INF, and then get clamped to [0, 1], which is pretty much what you'd want. In my (very limited) testing, that's also what actually happens with at least the GLSL backend.
When I looked at the same problem back in 2007, the GL fixed function pipeline disabled fog when start == end. Admittedly I did not re-test that assumption. I'll have a look at it later today.