On 26 January 2010 18:56, Stefan Dösinger stefandoesinger@gmx.at wrote:
It would be interesting to see how D3DCMP_GREATER behaves with clipping off. Does the clamping occur before the depth test, or after the test but before writing the values into the depth buffer. (ie, is 3.0 > 1.0 or is 3.0 == 1.0)
It's not completely trivial to reliably test that due to precision differences between the vertex data and the depth buffer, and probably mostly irrelevant, but I'd expect clamping to happen before the depth test.
A floating point depth buffer might be interesting as well to see if the clamping is done explicitly, or if just happens due to the limited value range in the depth buffer. I'm fine with postponing this until we get serious about float depth buffers though. (fwiw, ARB_depth_buffer_float suggests that the app will be able to use depths outside 0;1, but doesn't expose this yet, and is left open for future extensions)
ARB_depth_buffer_float doesn't describe interactions with ARB_depth_clamp, which might imply we'll have to disable depth clamping for floating point depth buffers, but I doubt floating point depth buffers are particularly useful without shaders anyway.