| | '''OpenGL extension ARB.draw_indirect |
| | |
| | This module customises the behaviour of the |
| | OpenGL.raw.GL.ARB.draw_indirect to provide a more |
| | Python-friendly API |
| | |
| | Overview (from the spec) |
| | |
| | This extension provides a mechanism for supplying the arguments to a |
| | DrawArraysInstanced or DrawElementsInstancedBaseVertex from buffer object |
| | memory. This is not particularly useful for applications where the CPU |
| | knows the values of the arguments beforehand, but is helpful when the |
| | values will be generated on the GPU through any mechanism that can write |
| | to a buffer object including image stores, atomic counters, or compute |
| | interop. This allows the GPU to consume these arguments without a round- |
| | trip to the CPU or the expensive synchronization that would involve. This |
| | is similar to the DrawTransformFeedbackEXT command from |
| | EXT_transform_feedback2, but offers much more flexibility in both |
| | generating the arguments and in the type of Draws that can be accomplished. |
| | |
| | The official definition of this extension is available here: |
| | http://www.opengl.org/registry/specs/ARB/draw_indirect.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_indirect import * |
| | from OpenGL.raw.GL.ARB.draw_indirect import _EXTENSION_NAME |
| |
|
| | def glInitDrawIndirectARB(): |
| | '''Return boolean indicating whether this extension is available''' |
| | from OpenGL import extensions |
| | return extensions.hasGLExtension( _EXTENSION_NAME ) |
| |
|
| |
|
| | |