Class NVDepthBufferFloat

java.lang.Object
org.lwjgl.opengl.NVDepthBufferFloat

public class NVDepthBufferFloat extends Object
Native bindings to the NV_depth_buffer_float extension.

This extension provides new texture internal formats whose depth components are stored as 32-bit floating-point values, rather than the normalized unsigned integers used in existing depth formats. Floating-point depth textures support all the functionality supported for fixed-point depth textures, including shadow mapping and rendering support via EXT_framebuffer_object. Floating-point depth textures can store values outside the range [0,1].

By default, OpenGL entry points taking depth values implicitly clamp the values to the range [0,1]. This extension provides new DepthClear, DepthRange, and DepthBoundsEXT entry points that allow applications to specify depth values that are not clamped.

Additionally, this extension provides new packed depth/stencil pixel formats (see EXT_packed_depth_stencil) that have 64-bit pixels consisting of a 32-bit floating-point depth value, 8 bits of stencil, and 24 unused bites. A packed depth/stencil texture internal format is also provided.

This extension does not provide support for WGL or GLX pixel formats with floating-point depth buffers. The existing (but not commonly used) WGL_EXT_depth_float extension could be used for this purpose.

Requires OpenGL 2.0, ARB_color_buffer_float, EXT_packed_depth_stencil and EXT_framebuffer_object.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Accepted by the pname parameters of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
    static final int
    Accepted by the internalformat parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorageEXT, and returned in the data parameter of GetTexLevelParameter and GetRenderbufferParameterivEXT.
    static final int
    Accepted by the internalformat parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorageEXT, and returned in the data parameter of GetTexLevelParameter and GetRenderbufferParameterivEXT.
    static final int
    Accepted by the type parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, and GetTexImage.
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    glClearDepthdNV(double depth)
     
    static void
    glDepthBoundsdNV(double zmin, double zmax)
     
    static void
    glDepthRangedNV(double zNear, double zFar)
     

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • GL_DEPTH_COMPONENT32F_NV

      public static final int GL_DEPTH_COMPONENT32F_NV
      Accepted by the internalformat parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorageEXT, and returned in the data parameter of GetTexLevelParameter and GetRenderbufferParameterivEXT.
      See Also:
    • GL_DEPTH32F_STENCIL8_NV

      public static final int GL_DEPTH32F_STENCIL8_NV
      Accepted by the internalformat parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorageEXT, and returned in the data parameter of GetTexLevelParameter and GetRenderbufferParameterivEXT.
      See Also:
    • GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV

      public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV
      Accepted by the type parameter of DrawPixels, ReadPixels, TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, and GetTexImage.
      See Also:
    • GL_DEPTH_BUFFER_FLOAT_MODE_NV

      public static final int GL_DEPTH_BUFFER_FLOAT_MODE_NV
      Accepted by the pname parameters of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
  • Method Details

    • glDepthRangedNV

      public static void glDepthRangedNV(double zNear, double zFar)
    • glClearDepthdNV

      public static void glClearDepthdNV(double depth)
    • glDepthBoundsdNV

      public static void glDepthBoundsdNV(double zmin, double zmax)