'''OpenGL extension AMD.name_gen_delete This module customises the behaviour of the OpenGL.raw.GL.AMD.name_gen_delete to provide a more Python-friendly API Overview (from the spec) This extension simply creates 2 new entry-points that name generic creation and deletion of names. The intent is to go away from API functionality that provides a create/delete function for each specific object. For example: glGenTextures/glDeleteTextures/glIsTexture glGenBuffers/glDeleteBuffers/IsBuffer glGenFramebuffers/glDeleteFramebuffers/IsFramebuffer Instead, everything is created using one entry-point GenNamesAMD and everything is now deleted with another entry-point DeleteNamesAMD with the appropriate identifier set. In addition, everything can now be queried with IsNameAMD. This alleviates the problem we may eventually encounter where we have many Gen/Delete/Is functions where 3 might suffice. All that is needed in the new case is to add a valid identifier to the accepted parameters list. The official definition of this extension is available here: http://www.opengl.org/registry/specs/AMD/name_gen_delete.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.AMD.name_gen_delete import * from OpenGL.raw.GL.AMD.name_gen_delete import _EXTENSION_NAME def glInitNameGenDeleteAMD(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) glGenNamesAMD=wrapper.wrapper(glGenNamesAMD).setOutput( 'names',size=lambda x:(x,),pnameArg='num',orPassIn=True ) # INPUT glDeleteNamesAMD.names size not checked against num glDeleteNamesAMD=wrapper.wrapper(glDeleteNamesAMD).setInputArraySize( 'names', None ) ### END AUTOGENERATED SECTION