Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class EXTRasterMultisample

extends Object
Class Inheritance
Imports
org.lwjgl.system.*

Native bindings to the EXT_raster_multisample extension.

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.

Field Summary

Modifier and TypeField and Description
public static final int
GL_EFFECTIVE_RASTER_SAMPLES_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_MAX_RASTER_SAMPLES_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_RASTER_MULTISAMPLE_EXT

Accepted by the cap parameter of Enable, Disable, IsEnabled.

public static final int
GL_RASTER_SAMPLES_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native void
glRasterSamplesEXT(int
the number of samples to be used for rasterization
samples
,
boolean
if TRUE, identical sample locations will be used for all pixels
fixedsamplelocations
)

Selects the number of samples to be used for rasterization.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_EFFECTIVE_RASTER_SAMPLES_EXTback to summary
public static final int GL_EFFECTIVE_RASTER_SAMPLES_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_MAX_RASTER_SAMPLES_EXTback to summary
public static final int GL_MAX_RASTER_SAMPLES_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXTback to summary
public static final int GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXTback to summary
public static final int GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_RASTER_MULTISAMPLE_EXTback to summary
public static final int GL_RASTER_MULTISAMPLE_EXT

Accepted by the cap parameter of Enable, Disable, IsEnabled.

GL_RASTER_SAMPLES_EXTback to summary
public static final int GL_RASTER_SAMPLES_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

Constructor Detail

EXTRasterMultisampleback to summary
protected EXTRasterMultisample()

Method Detail

glRasterSamplesEXTback to summary
public static native void glRasterSamplesEXT(int samples, boolean fixedsamplelocations)

Selects the number of samples to be used for rasterization. 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

Errors

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).

Parameters
samples:int

the number of samples to be used for rasterization

fixedsamplelocations:boolean

if TRUE, identical sample locations will be used for all pixels