public class EXTRasterMultisample
extends java.lang.Object
This extension allows rendering to a non-multisample color buffer while rasterizing with more than one sample. The result of rasterization (coverage)
is available in the gl_SampleMaskIn[] fragment shader input, multisample rasterization is enabled for all primitives, and several per- fragment
operations operate at the raster sample rate.
When using the functionality provided by this extension, depth, stencil, and depth bounds tests must be disabled, and a multisample draw framebuffer must not be used.
A fragment's "coverage", or "effective raster samples" is considered to have "N bits" (as opposed to "one bit" corresponding to the single color sample) through the fragment shader, in the sample mask output, through the multisample fragment operations and occlusion query, until the coverage is finally "reduced" to a single bit in a new "Coverage Reduction" stage that occurs before blending.
| Modifier and Type | Field and Description |
|---|---|
static int |
GL_EFFECTIVE_RASTER_SAMPLES_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. |
static int |
GL_MAX_RASTER_SAMPLES_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. |
static int |
GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. |
static int |
GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. |
static int |
GL_RASTER_MULTISAMPLE_EXT
Accepted by the
cap parameter of Enable, Disable, IsEnabled. |
static int |
GL_RASTER_SAMPLES_EXT
Accepted by the
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv. |
| Modifier and Type | Method and Description |
|---|---|
static void |
glRasterSamplesEXT(int samples,
boolean fixedsamplelocations)
Selects the number of samples to be used for rasterization.
|
public static final int GL_RASTER_MULTISAMPLE_EXT
cap parameter of Enable, Disable, IsEnabled.public static final int GL_RASTER_SAMPLES_EXT
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.public static final int GL_MAX_RASTER_SAMPLES_EXT
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.public static final int GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.public static final int GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.public static final int GL_EFFECTIVE_RASTER_SAMPLES_EXT
pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.public static void glRasterSamplesEXT(int samples,
boolean fixedsamplelocations)
samples represents a request for a desired minimum number of samples. Since
different implementations may support different sample counts, the actual sample pattern used is implementation-dependent. However, the resulting value
for RASTER_SAMPLES_EXT is guaranteed to be greater than or equal to samples and no more than the next larger sample count supported by the
implementation. If fixedsamplelocations is TRUE, identical sample locations will be used for all pixels. The sample locations chosen are a
function of only the parameters to RasterSamplesEXT and not of any other state.
If RASTER_MULTISAMPLE_EXT is enabled, then the sample pattern chosen by RasterSamplesEXT will be used instead of sampling at the center of the pixel.
The sample locations can be queried with GetMultisamplefv with a pname of SAMPLE_POSITION, similar to normal multisample sample
locations.
The value MULTISAMPLE_RASTERIZATION_ALLOWED_EXT is TRUE if SAMPLE_BUFFERS is one or if RASTER_MULTISAMPLE_EXT is enabled. The value
EFFECTIVE_RASTER_SAMPLES_EXT is equal to RASTER_SAMPLES_EXT if RASTER_MULTISAMPLE_EXT is enabled, otherwise is equal to SAMPLES.
Explicit multisample rasterization can not be used in conjunction with depth, stencil, or depth bounds tests, multisample framebuffers, or if
RASTER_SAMPLES_EXT is zero. If RASTER_MULTISAMPLE_EXT is enabled, the error INVALID_OPERATION will be generated by Draw commands if
RASTER_SAMPLES_EXT is zeroSAMPLE_BUFFERS is one)An INVALID_VALUE error is generated if samples is greater than the value of MAX_RASTER_SAMPLES_EXT (the implementation-dependent maximum
number of samples).
samples - the number of samples to be used for rasterizationfixedsamplelocations - if TRUE, identical sample locations will be used for all pixelsCopyright LWJGL. All Rights Reserved. License terms.