1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
'''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 )
### END AUTOGENERATED SECTION
|