Class EXTMultiviewDrawBuffers
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 Summary
Modifier and TypeFieldDescriptionstatic final int
Accepted by thelocation
parameter of DrawBuffersIndexedEXT.static final int
Accepted by thetarget
parameter of GetIntegeri_EXT.static final int
Accepted by thetarget
parameter of GetInteger.static final int
Accepted by thelocation
parameter of DrawBuffersIndexedEXT.static final int
Accepted by thetarget
parameter of GetIntegeri_EXT. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glDrawBuffersIndexedEXT
(int[] location, int[] indices) Array version of:DrawBuffersIndexedEXT
static void
glDrawBuffersIndexedEXT
(IntBuffer location, IntBuffer indices) static void
glGetIntegeri_vEXT
(int target, int index, int[] data) Array version of:GetIntegeri_vEXT
static void
glGetIntegeri_vEXT
(int target, int index, IntBuffer data) static int
glGetIntegeriEXT
(int target, int index) static void
glReadBufferIndexedEXT
(int src, int index) static void
nglDrawBuffersIndexedEXT
(int n, long location, long indices) static void
nglGetIntegeri_vEXT
(int target, int index, long data)
-
Field Details
-
GL_COLOR_ATTACHMENT_EXT
public static final int GL_COLOR_ATTACHMENT_EXTAccepted by thelocation
parameter of DrawBuffersIndexedEXT.- See Also:
-
GL_MULTIVIEW_EXT
public static final int GL_MULTIVIEW_EXTAccepted by thelocation
parameter of DrawBuffersIndexedEXT.- See Also:
-
GL_DRAW_BUFFER_EXT
public static final int GL_DRAW_BUFFER_EXTAccepted by thetarget
parameter of GetIntegeri_EXT.- See Also:
-
GL_READ_BUFFER_EXT
public static final int GL_READ_BUFFER_EXTAccepted by thetarget
parameter of GetIntegeri_EXT.- See Also:
-
GL_MAX_MULTIVIEW_BUFFERS_EXT
public static final int GL_MAX_MULTIVIEW_BUFFERS_EXTAccepted by thetarget
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
-
nglGetIntegeri_vEXT
public static void nglGetIntegeri_vEXT(int target, int index, long data) -
glGetIntegeri_vEXT
-
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
-