| '''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 ) |
|
|
|
|
| |