Class EXTRasterMultisample



  • public class EXTRasterMultisample
    extends java.lang.Object
    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 Detail

      • GL_RASTER_MULTISAMPLE_EXT

        public static final int GL_RASTER_MULTISAMPLE_EXT
        Accepted by the cap parameter of Enable, Disable, IsEnabled.
        See Also:
        Constant Field Values
      • GL_RASTER_SAMPLES_EXT

        public static final int GL_RASTER_SAMPLES_EXT
        Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
        See Also:
        Constant Field Values
      • GL_MAX_RASTER_SAMPLES_EXT

        public static final int GL_MAX_RASTER_SAMPLES_EXT
        Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
        See Also:
        Constant Field Values
      • GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT

        public static final int GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT
        Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
        See Also:
        Constant Field Values
      • GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT

        public static final int GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT
        Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
        See Also:
        Constant Field Values
      • GL_EFFECTIVE_RASTER_SAMPLES_EXT

        public static final int GL_EFFECTIVE_RASTER_SAMPLES_EXT
        Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
        See Also:
        Constant Field Values
    • Method Detail

      • glRasterSamplesEXT

        public static 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 - the number of samples to be used for rasterization
        fixedsamplelocations - if TRUE, identical sample locations will be used for all pixels