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 38 39 40 41 42 43 44 45
|
'''OpenGL extension ARB.clear_buffer_object
This module customises the behaviour of the
OpenGL.raw.GL.ARB.clear_buffer_object to provide a more
Python-friendly API
Overview (from the spec)
Buffer objects are fundamental to the operation of OpenGL. Buffers are used
as a source of data for vertices and indices, read through buffer textures
in shaders, used to transfer texture and image data into and out of
textures and framebuffers, and may be written to by operations such as
transform feedback. OpenGL contains mechanisms to copy sections of buffers
from one to another, but it has no mechanism to initialize the content
of a buffer to a known value. In effect, it has memcpy, but not memset.
This extension adds such a mechanism and has several use cases. Examples
include clearing a pixel unpack buffer before transferring data to
a texture or resetting buffer data to a known value before sparse updates
through shader image stores or transform feedback.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/clear_buffer_object.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.clear_buffer_object import *
from OpenGL.raw.GL.ARB.clear_buffer_object import _EXTENSION_NAME
def glInitClearBufferObjectARB():
'''Return boolean indicating whether this extension is available'''
from OpenGL import extensions
return extensions.hasGLExtension( _EXTENSION_NAME )
# INPUT glClearBufferData.data size not checked against 'format,type'
glClearBufferData=wrapper.wrapper(glClearBufferData).setInputArraySize(
'data', None
)
# INPUT glClearBufferSubData.data size not checked against 'format,type'
glClearBufferSubData=wrapper.wrapper(glClearBufferSubData).setInputArraySize(
'data', None
)
### END AUTOGENERATED SECTION
|