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
FieldsModifier and TypeFieldDescriptionstatic final intAccepted by thelocationparameter of DrawBuffersIndexedEXT.static final intAccepted by thetargetparameter of GetIntegeri_EXT.static final intAccepted by thetargetparameter of GetInteger.static final intAccepted by thelocationparameter of DrawBuffersIndexedEXT.static final intAccepted by thetargetparameter of GetIntegeri_EXT. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidglDrawBuffersIndexedEXT(int[] location, int[] indices) Array version of:DrawBuffersIndexedEXTstatic voidglDrawBuffersIndexedEXT(IntBuffer location, IntBuffer indices) static voidglGetIntegeri_vEXT(int target, int index, int[] data) Array version of:GetIntegeri_vEXTstatic voidglGetIntegeri_vEXT(int target, int index, IntBuffer data) static intglGetIntegeriEXT(int target, int index) static voidglReadBufferIndexedEXT(int src, int index) static voidnglDrawBuffersIndexedEXT(int n, long location, long indices) static voidnglGetIntegeri_vEXT(int target, int index, long data)
-
Field Details
-
GL_COLOR_ATTACHMENT_EXT
public static final int GL_COLOR_ATTACHMENT_EXTAccepted by thelocationparameter of DrawBuffersIndexedEXT.- See Also:
-
GL_MULTIVIEW_EXT
public static final int GL_MULTIVIEW_EXTAccepted by thelocationparameter of DrawBuffersIndexedEXT.- See Also:
-
GL_DRAW_BUFFER_EXT
public static final int GL_DRAW_BUFFER_EXTAccepted by thetargetparameter of GetIntegeri_EXT.- See Also:
-
GL_READ_BUFFER_EXT
public static final int GL_READ_BUFFER_EXTAccepted by thetargetparameter of GetIntegeri_EXT.- See Also:
-
GL_MAX_MULTIVIEW_BUFFERS_EXT
public static final int GL_MAX_MULTIVIEW_BUFFERS_EXTAccepted by thetargetparameter 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
-