DepthRangedNV - DepthBoundsdNV

Hello,

I’ve been reading the nvidia’s float depth buffer spec, and I’m not sure I understand their usage.

Is depth bounds test a different test than the standard depth test, whose bounds are defined with DepthBoundsdNV??

And DepthRangedNV simply specifies the bounds of the depth buffer?

Is there any advantages/disadvantages using them, and if so, which ones? ( especially for the extra test)

Thanks,
Babis

Yes, depth bounds test is an additional per fragment test. Take a look at the corresponding extension - EXT_depth_bounds_test - for possible uses. GL_NV_depth_buffer_float modifies that extension, so it can be used with float depth buffers.

DepthRangedNV() is the floating point equivalent of glDepthRange().

Yes, the depth bounds test is a completely different test, defined by the EXT_depth_bounds_test extension.

It tests whether the depth value in the depth buffer before the depth write is inside the range defined by glDepthBounds[EXT|dNV].

And DepthRangedNV simply specifies the bounds of the depth buffer?

glDepthRange specifies the range to which Normalized Device Coordinates (NDC) will be mapped. This is part of the viewport transformation and can be used to partition the depth buffer when rendering extremely large scenes.

Ok, got it now, thank you very much!

Yes, the depth bounds test is a completely different test, defined by the EXT_depth_bounds_test extension.

It tests whether the depth value in the depth buffer before the depth write is inside the range defined by glDepthBounds

Is this test same as Early-Z culling used in DirectX.

No, Early-Z is a transparent performance optimization for the depth test, not a new feature. And it’s not at all specific to DirectX.

Depth bounds test is not available in DirectX.