Class NVInternalformatSampleQuery

java.lang.Object
org.lwjgl.opengles.NVInternalformatSampleQuery

public class NVInternalformatSampleQuery extends Object
Native bindings to the NV_internalformat_sample_query extension.

Some OpenGL implementations support modes of multisampling which have properties which are non-obvious to applications and/or which may not be standards conformant. The idea of non-conformant AA modes is not new, and is exposed in both GLX and EGL with config caveats and the GLX_NON_CONFORMANT_CONFIG for GLX and EGL_NON_CONFORMANT_CONFIG for EGL, or by querying the EGL_CONFORMANT attribute in newer versions of EGL.

Both of these mechanisms operate on a per-config basis, which works as intended for window-based configs. However, with the advent of application-created FBOs, it is now possible to do all the multisample operations in an application-created FBO and never use a multisample window.

This extension further extends the internalformat query mechanism (first introduced by ARB_internalformat_query and extended in ARB_internalformat_query2) and introduces a mechanism for a implementation to report properties of formats that may also be dependent on the number of samples. This includes information such as whether the combination of format and samples should be considered conformant. This enables an implementation to report caveats which might apply to both window and FBO-based rendering configurations.

Some NVIDIA drivers support multisample modes which are internally implemented as a combination of multisampling and automatic supersampling in order to obtain a higher level of anti-aliasing than can be directly supported by hardware. This extension allows those properties to be queried by an application with the MULTISAMPLES_NV, SUPERSAMPLE_SCALE_X_NV and SUPERSAMPLE_SCALE_Y_NV properties. For example, a 16xAA mode might be implemented by using 4 samples and up-scaling by a factor of 2 in each of the x- and y-dimensions. In this example, the driver might report MULTSAMPLES_NV of 4, SUPERSAMPLE_SCALE_X_NV of 2, SUPERSAMPLE_SCALE_Y_NV of 2 and CONFORMANT_NV of FALSE.

Requires GLES 3.0.

  • Field Details

    • GL_MULTISAMPLES_NV

      public static final int GL_MULTISAMPLES_NV
      Accepted by the pname parameter of GetInternalformatSampleivNV.
      See Also:
    • GL_SUPERSAMPLE_SCALE_X_NV

      public static final int GL_SUPERSAMPLE_SCALE_X_NV
      Accepted by the pname parameter of GetInternalformatSampleivNV.
      See Also:
    • GL_SUPERSAMPLE_SCALE_Y_NV

      public static final int GL_SUPERSAMPLE_SCALE_Y_NV
      Accepted by the pname parameter of GetInternalformatSampleivNV.
      See Also:
    • GL_CONFORMANT_NV

      public static final int GL_CONFORMANT_NV
      Accepted by the pname parameter of GetInternalformatSampleivNV.
      See Also:
  • Method Details

    • nglGetInternalformatSampleivNV

      public static void nglGetInternalformatSampleivNV(int target, int internalformat, int samples, int pname, int bufSize, long params)
    • glGetInternalformatSampleivNV

      public static void glGetInternalformatSampleivNV(int target, int internalformat, int samples, int pname, IntBuffer params)
    • glGetInternalformatSampleivNV

      public static void glGetInternalformatSampleivNV(int target, int internalformat, int samples, int pname, int[] params)
      Array version of: GetInternalformatSampleivNV