Class EXTMultiviewDrawBuffers

java.lang.Object
org.lwjgl.opengles.EXTMultiviewDrawBuffers

public class EXTMultiviewDrawBuffers extends Object
Native bindings to the EXT_multiview_draw_buffers extension.

This extension allows selecting among draw buffers as the rendering target. This may be among multiple primary buffers pertaining to platform-specific stereoscopic or multiview displays or among offscreen framebuffer object color attachments.

To remove any artificial limitations imposed on the number of possible buffers, draw buffers are identified not as individual enums, but as pairs of values consisting of an enum representing buffer locations such as COLOR_ATTACHMENT_EXT or MULTIVIEW_EXT, and an integer representing an identifying index of buffers of this location. These (location, index) pairs are used to specify draw buffer targets using a new DrawBuffersIndexedEXT call.

Rendering to buffers of location MULTIVIEW_EXT associated with the context allows rendering to multiview buffers created by EGL using EGL_EXT_multiview_window for stereoscopic displays.

Rendering to COLOR_ATTACHMENT_EXT buffers allows implementations to increase the number of potential color attachments indefinitely to renderbuffers and textures.

This extension allows the traditional quad buffer stereoscopic rendering method that has proven effective by indicating a left or right draw buffer and rendering to each accordingly, but is also dynamic enough to handle an arbitrary number of color buffer targets all using the same shader. This grants the user maximum flexibility as well as a familiar interface.

  • Field Details

    • GL_COLOR_ATTACHMENT_EXT

      public static final int GL_COLOR_ATTACHMENT_EXT
      Accepted by the location parameter of DrawBuffersIndexedEXT.
      See Also:
    • GL_MULTIVIEW_EXT

      public static final int GL_MULTIVIEW_EXT
      Accepted by the location parameter of DrawBuffersIndexedEXT.
      See Also:
    • GL_DRAW_BUFFER_EXT

      public static final int GL_DRAW_BUFFER_EXT
      Accepted by the target parameter of GetIntegeri_EXT.
      See Also:
    • GL_READ_BUFFER_EXT

      public static final int GL_READ_BUFFER_EXT
      Accepted by the target parameter of GetIntegeri_EXT.
      See Also:
    • GL_MAX_MULTIVIEW_BUFFERS_EXT

      public static final int GL_MAX_MULTIVIEW_BUFFERS_EXT
      Accepted by the target parameter of GetInteger.
      See Also:
  • Method Details

    • glReadBufferIndexedEXT

      public static void glReadBufferIndexedEXT(int src, int index)
    • nglDrawBuffersIndexedEXT

      public static void nglDrawBuffersIndexedEXT(int n, long location, long indices)
    • glDrawBuffersIndexedEXT

      public static void glDrawBuffersIndexedEXT(IntBuffer location, IntBuffer indices)
    • nglGetIntegeri_vEXT

      public static void nglGetIntegeri_vEXT(int target, int index, long data)
    • glGetIntegeri_vEXT

      public static void glGetIntegeri_vEXT(int target, int index, IntBuffer data)
    • glGetIntegeriEXT

      public static int glGetIntegeriEXT(int target, int index)
    • glDrawBuffersIndexedEXT

      public static void glDrawBuffersIndexedEXT(int[] location, int[] indices)
      Array version of: DrawBuffersIndexedEXT
    • glGetIntegeri_vEXT

      public static void glGetIntegeri_vEXT(int target, int index, int[] data)
      Array version of: GetIntegeri_vEXT