'''OpenGL extension APPLE.vertex_array_object This module customises the behaviour of the OpenGL.raw.GL.APPLE.vertex_array_object to provide a more Python-friendly API Overview (from the spec) This extension introduces named vertex array objects which encapsulate vertex array state on the client side. The main purpose of these objects is to keep pointers to static vertex data and provide a name for different sets of static vertex data. By extending vertex array range functionality this extension allows multiple vertex array ranges to exist at one time, including their complete sets of state, in manner analogous to texture objects. GenVertexArraysAPPLE creates a list of n number of vertex array object names. After creating a name, BindVertexArrayAPPLE associates the name with a vertex array object and selects this vertex array and its associated state as current. To get back to the default vertex array and its associated state the client should bind to vertex array named 0. Once a client is done using a vertex array object it can be deleted with DeleteVertexArraysAPPLE. The client is responsible for allocating and deallocating the memory used by the vertex array data, while the DeleteVertexArraysAPPLE command deletes vertex array object names and associated state only. The official definition of this extension is available here: http://www.opengl.org/registry/specs/APPLE/vertex_array_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.APPLE.vertex_array_object import * from OpenGL.raw.GL.APPLE.vertex_array_object import _EXTENSION_NAME def glInitVertexArrayObjectAPPLE(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) # INPUT glDeleteVertexArraysAPPLE.arrays size not checked against n glDeleteVertexArraysAPPLE=wrapper.wrapper(glDeleteVertexArraysAPPLE).setInputArraySize( 'arrays', None ) glGenVertexArraysAPPLE=wrapper.wrapper(glGenVertexArraysAPPLE).setOutput( 'arrays',size=lambda x:(x,),pnameArg='n',orPassIn=True ) ### END AUTOGENERATED SECTION