| '''OpenGL extension EXT.draw_buffers |
| |
| This module customises the behaviour of the |
| OpenGL.raw.GLES2.EXT.draw_buffers to provide a more |
| Python-friendly API |
| |
| Overview (from the spec) |
| |
| This extension increases the number of available framebuffer object |
| color attachment points, extends OpenGL ES 2.0 to allow multiple output |
| colors, and provides a mechanism for directing those outputs to |
| multiple color buffers. |
| |
| This extension is similar to the combination of the GL_NV_draw_buffers |
| and GL_NV_fbo_color_attachments extensions, but imposes certain |
| restrictions informed by the OpenGL ES 3.0 API. |
| |
| The official definition of this extension is available here: |
| http://www.opengl.org/registry/specs/EXT/draw_buffers.txt |
| ''' |
| from OpenGL import platform, constant, arrays |
| from OpenGL import extensions, wrapper |
| import ctypes |
| from OpenGL.raw.GLES2 import _types, _glgets |
| from OpenGL.raw.GLES2.EXT.draw_buffers import * |
| from OpenGL.raw.GLES2.EXT.draw_buffers import _EXTENSION_NAME |
|
|
| def glInitDrawBuffersEXT(): |
| '''Return boolean indicating whether this extension is available''' |
| from OpenGL import extensions |
| return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
| |
| glDrawBuffersEXT=wrapper.wrapper(glDrawBuffersEXT).setInputArraySize( |
| 'bufs', None |
| ) |
| |
| from OpenGL.lazywrapper import lazy as _lazy |
|
|
| @_lazy( glDrawBuffers ) |
| def glDrawBuffers( baseOperation, n=None, bufs=None ): |
| """glDrawBuffers( bufs ) -> bufs |
| |
| Wrapper will calculate n from dims of bufs if only |
| one argument is provided... |
| """ |
| if bufs is None: |
| bufs = n |
| n = None |
| bufs = arrays.GLenumArray.asArray( bufs ) |
| if n is None: |
| n = arrays.GLenumArray.arraySize( bufs ) |
| return baseOperation( n,bufs ) |
|
|