| | '''OpenGL extension ARB.draw_buffers |
| | |
| | This module customises the behaviour of the |
| | OpenGL.raw.GL.ARB.draw_buffers to provide a more |
| | Python-friendly API |
| | |
| | Overview (from the spec) |
| | |
| | This extension extends ARB_fragment_program and ARB_fragment_shader |
| | to allow multiple output colors, and provides a mechanism for |
| | directing those outputs to multiple color buffers. |
| | |
| | |
| | The official definition of this extension is available here: |
| | http://www.opengl.org/registry/specs/ARB/draw_buffers.txt |
| | ''' |
| | from OpenGL import platform, constant, arrays |
| | from OpenGL import extensions, wrapper |
| | import ctypes |
| | from OpenGL.raw.GL import _types, _glgets |
| | from OpenGL.raw.GL.ARB.draw_buffers import * |
| | from OpenGL.raw.GL.ARB.draw_buffers import _EXTENSION_NAME |
| |
|
| | def glInitDrawBuffersARB(): |
| | '''Return boolean indicating whether this extension is available''' |
| | from OpenGL import extensions |
| | return extensions.hasGLExtension( _EXTENSION_NAME ) |
| |
|
| | |
| | glDrawBuffersARB=wrapper.wrapper(glDrawBuffersARB).setInputArraySize( |
| | 'bufs', None |
| | ) |
| | |
| | from OpenGL.lazywrapper import lazy as _lazy |
| | @_lazy( glDrawBuffersARB ) |
| | def glDrawBuffersARB( baseOperation, n=None, bufs=None ): |
| | """glDrawBuffersARB( 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 ) |
| |
|