Class ARBColorBufferFloat
The standard OpenGL pipeline is based on a fixed-point pipeline. While color components are nominally floating-point values in the pipeline, components are frequently clamped to the range [0,1] to accomodate the fixed-point color buffer representation and allow for fixed-point computational hardware.
This extension adds pixel formats or visuals with floating-point RGBA color components and controls for clamping of color components within the pipeline.
For a floating-point RGBA pixel format, the size of each float components is specified using the same attributes that are used for defining the size of fixed-point components. 32-bit floating-point components are in the standard IEEE float format. 16-bit floating-point components have 1 sign bit, 5 exponent bits, and 10 mantissa bits.
Clamping control provides a way to disable certain color clamps and allow programs, and the fixed-function pipeline, to deal in unclamped colors. There are controls to modify clamping of vertex colors, clamping of fragment colors throughout the pipeline, and for pixel return data.
The default state for fragment clamping is FIXED_ONLY_ARB
, which has the behavior of clamping colors for fixed-point color buffers and not clamping
colors for floating-pont color buffers.
Vertex colors are clamped by default.
Promoted to core in OpenGL 3.0
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Accepted by thetarget
parameter of ClampColorARB and thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.static final int
Accepted by thetarget
parameter of ClampColorARB and thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.static final int
Accepted by thetarget
parameter of ClampColorARB and thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.static final int
Accepted by theclamp
parameter of ClampColorARB.static final int
Accepted by thepname
parameters of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glClampColorARB
(int target, int clamp) Controls color clamping.
-
Field Details
-
GL_RGBA_FLOAT_MODE_ARB
public static final int GL_RGBA_FLOAT_MODE_ARBAccepted by thepname
parameters of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
-
GL_CLAMP_VERTEX_COLOR_ARB
public static final int GL_CLAMP_VERTEX_COLOR_ARBAccepted by thetarget
parameter of ClampColorARB and thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
-
GL_CLAMP_FRAGMENT_COLOR_ARB
public static final int GL_CLAMP_FRAGMENT_COLOR_ARBAccepted by thetarget
parameter of ClampColorARB and thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
-
GL_CLAMP_READ_COLOR_ARB
public static final int GL_CLAMP_READ_COLOR_ARBAccepted by thetarget
parameter of ClampColorARB and thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
-
GL_FIXED_ONLY_ARB
public static final int GL_FIXED_ONLY_ARBAccepted by theclamp
parameter of ClampColorARB.- See Also:
-
-
Method Details
-
glClampColorARB
public static void glClampColorARB(int target, int clamp) Controls color clamping.- Parameters:
target
- the color target. One of:CLAMP_VERTEX_COLOR_ARB
CLAMP_FRAGMENT_COLOR_ARB
CLAMP_READ_COLOR_ARB
clamp
- the new clamping state. One of:TRUE
FALSE
FIXED_ONLY_ARB
-