Class ARBDepthClamp
- java.lang.Object
-
- org.lwjgl.opengl.ARBDepthClamp
-
public final class ARBDepthClamp extends java.lang.Object
Native bindings to the ARB_depth_clamp extension.Conventional OpenGL clips geometric primitives to a clip volume with six faces, two of which are the near and far clip planes. Clipping to the near and far planes of the clip volume ensures that interpolated depth values (after the depth range transform) must be in the [0,1] range.
In some rendering applications such as shadow volumes, it is useful to allow line and polygon primitives to be rasterized without clipping the primitive to the near or far clip volume planes (side clip volume planes clip normally). Without the near and far clip planes, rasterization (pixel coverage determination) in X and Y can proceed normally if we ignore the near and far clip planes. The one major issue is that fragments of a primitive may extend beyond the conventional window space depth range for depth values (typically the range [0,1]). Rather than discarding fragments that defy the window space depth range (effectively what near and far plane clipping accomplish), the depth values can be clamped to the current depth range.
This extension provides exactly such functionality. This functionality is useful to obviate the need for near plane capping of stenciled shadow volumes. The functionality may also be useful for rendering geometry "beyond" the far plane if an alternative algorithm (rather than depth testing) for hidden surface removal is applied to such geometry (specifically, the painter's algorithm). Similar situations at the near clip plane can be avoided at the near clip plane where apparently solid objects can be "seen through" if they intersect the near clip plane.
Promoted to core in
OpenGL 3.2
.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
GL_DEPTH_CLAMP
Accepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
-
-
-
Field Detail
-
GL_DEPTH_CLAMP
public static final int GL_DEPTH_CLAMP
Accepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
- Constant Field Values
-
-