1'''OpenGL extension VERSION.GL_3_1 2 3This module customises the behaviour of the 4OpenGL.raw.GL.VERSION.GL_3_1 to provide a more 5Python-friendly API 6 7The official definition of this extension is available here: 8http://www.opengl.org/registry/specs/VERSION/GL_3_1.txt 9''' 10from OpenGL import platform, constant, arrays 11from OpenGL import extensions, wrapper 12import ctypes 13from OpenGL.raw.GL import _types, _glgets 14from OpenGL.raw.GL.VERSION.GL_3_1 import * 15from OpenGL.raw.GL.VERSION.GL_3_1 import _EXTENSION_NAME 16 17def glInitGl31VERSION(): 18 '''Return boolean indicating whether this extension is available''' 19 from OpenGL import extensions 20 return extensions.hasGLExtension( _EXTENSION_NAME ) 21 22# INPUT glDrawElementsInstanced.indices size not checked against 'count,type' 23glDrawElementsInstanced=wrapper.wrapper(glDrawElementsInstanced).setInputArraySize( 24 'indices', None 25) 26# INPUT glGetUniformIndices.uniformNames size not checked against 'uniformCount' 27glGetUniformIndices=wrapper.wrapper(glGetUniformIndices).setOutput( 28 'uniformIndices',size=_glgets._glget_size_mapping,pnameArg='uniformCount',orPassIn=True 29).setInputArraySize( 30 'uniformNames', None 31) 32# OUTPUT glGetActiveUniformsiv.params COMPSIZE(uniformCount, pname) 33# INPUT glGetActiveUniformsiv.uniformIndices size not checked against uniformCount 34glGetActiveUniformsiv=wrapper.wrapper(glGetActiveUniformsiv).setInputArraySize( 35 'uniformIndices', None 36) 37glGetActiveUniformName=wrapper.wrapper(glGetActiveUniformName).setOutput( 38 'length',size=(1,),orPassIn=True 39).setOutput( 40 'uniformName',size=lambda x:(x,),pnameArg='bufSize',orPassIn=True 41) 42# INPUT glGetUniformBlockIndex.uniformBlockName size not checked against '' 43glGetUniformBlockIndex=wrapper.wrapper(glGetUniformBlockIndex).setInputArraySize( 44 'uniformBlockName', None 45) 46# OUTPUT glGetActiveUniformBlockiv.params COMPSIZE(program, uniformBlockIndex, pname) 47glGetActiveUniformBlockName=wrapper.wrapper(glGetActiveUniformBlockName).setOutput( 48 'length',size=(1,),orPassIn=True 49).setOutput( 50 'uniformBlockName',size=lambda x:(x,),pnameArg='bufSize',orPassIn=True 51) 52glGetIntegeri_v=wrapper.wrapper(glGetIntegeri_v).setOutput( 53 'data',size=_glgets._glget_size_mapping,pnameArg='target',orPassIn=True 54) 55### END AUTOGENERATED SECTION 56