Class NVFramebufferMixedSamples

java.lang.Object
org.lwjgl.opengl.NVFramebufferMixedSamples

public class NVFramebufferMixedSamples extends Object
Native bindings to the NV_framebuffer_mixed_samples extension.

This extension allows multisample rendering with a raster and depth/stencil sample count that is larger than the color sample count. Rasterization and the results of the depth and stencil tests together determine the portion of a pixel that is "covered". It can be useful to evaluate coverage at a higher frequency than color samples are stored. This coverage is then "reduced" to a collection of covered color samples, each having an opacity value corresponding to the fraction of the color sample covered. The opacity can optionally be blended into individual color samples.

  • Field Details

    • GL_RASTER_MULTISAMPLE_EXT

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

      public static final int GL_COVERAGE_MODULATION_TABLE_NV
      Accepted by the cap parameter of Enable, Disable, IsEnabled.
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • GL_COLOR_SAMPLES_NV

      public static final int GL_COLOR_SAMPLES_NV
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also:
    • GL_DEPTH_SAMPLES_NV

      public static final int GL_DEPTH_SAMPLES_NV
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also:
    • GL_STENCIL_SAMPLES_NV

      public static final int GL_STENCIL_SAMPLES_NV
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also:
    • GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV

      public static final int GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also:
    • GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV

      public static final int GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also:
    • GL_COVERAGE_MODULATION_NV

      public static final int GL_COVERAGE_MODULATION_NV
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also:
    • GL_COVERAGE_MODULATION_TABLE_SIZE_NV

      public static final int GL_COVERAGE_MODULATION_TABLE_SIZE_NV
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also:
  • Method Details

    • 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
    • nglCoverageModulationTableNV

      public static void nglCoverageModulationTableNV(int n, long v)
      Unsafe version of: CoverageModulationTableNV
      Parameters:
      n - The size of the coverage modulation table. Must be equal to the value of COVERAGE_MODULATION_TABLE_SIZE_NV.
    • glCoverageModulationTableNV

      public static void glCoverageModulationTableNV(FloatBuffer v)
    • nglGetCoverageModulationTableNV

      public static void nglGetCoverageModulationTableNV(int bufsize, long v)
    • glGetCoverageModulationTableNV

      public static void glGetCoverageModulationTableNV(FloatBuffer v)
    • glCoverageModulationNV

      public static void glCoverageModulationNV(int components)
    • glCoverageModulationTableNV

      public static void glCoverageModulationTableNV(float[] v)
      Array version of: CoverageModulationTableNV
    • glGetCoverageModulationTableNV

      public static void glGetCoverageModulationTableNV(float[] v)