1'''OpenGL extension ARB.shading_language_include 2 3This module customises the behaviour of the 4OpenGL.raw.GL.ARB.shading_language_include to provide a more 5Python-friendly API 6 7Overview (from the spec) 8 9 This extension introduces a #include GLSL directive to allow reusing 10 the same shader text in multiple shaders and defines the semantics 11 and syntax of the names allowed in #include directives. It also 12 defines API mechanisms to define the named string backing a 13 #include. 14 15The official definition of this extension is available here: 16http://www.opengl.org/registry/specs/ARB/shading_language_include.txt 17''' 18from OpenGL import platform, constant, arrays 19from OpenGL import extensions, wrapper 20import ctypes 21from OpenGL.raw.GL import _types, _glgets 22from OpenGL.raw.GL.ARB.shading_language_include import * 23from OpenGL.raw.GL.ARB.shading_language_include import _EXTENSION_NAME 24 25def glInitShadingLanguageIncludeARB(): 26 '''Return boolean indicating whether this extension is available''' 27 from OpenGL import extensions 28 return extensions.hasGLExtension( _EXTENSION_NAME ) 29 30# INPUT glNamedStringARB.name size not checked against namelen 31# INPUT glNamedStringARB.string size not checked against stringlen 32glNamedStringARB=wrapper.wrapper(glNamedStringARB).setInputArraySize( 33 'name', None 34).setInputArraySize( 35 'string', None 36) 37# INPUT glDeleteNamedStringARB.name size not checked against namelen 38glDeleteNamedStringARB=wrapper.wrapper(glDeleteNamedStringARB).setInputArraySize( 39 'name', None 40) 41# INPUT glCompileShaderIncludeARB.path size not checked against count 42# INPUT glCompileShaderIncludeARB.length size not checked against count 43glCompileShaderIncludeARB=wrapper.wrapper(glCompileShaderIncludeARB).setInputArraySize( 44 'path', None 45).setInputArraySize( 46 'length', None 47) 48# INPUT glIsNamedStringARB.name size not checked against namelen 49glIsNamedStringARB=wrapper.wrapper(glIsNamedStringARB).setInputArraySize( 50 'name', None 51) 52# INPUT glGetNamedStringARB.name size not checked against namelen 53glGetNamedStringARB=wrapper.wrapper(glGetNamedStringARB).setOutput( 54 'stringlen',size=(1,),orPassIn=True 55).setOutput( 56 'string',size=lambda x:(x,),pnameArg='bufSize',orPassIn=True 57).setInputArraySize( 58 'name', None 59) 60# INPUT glGetNamedStringivARB.name size not checked against namelen 61glGetNamedStringivARB=wrapper.wrapper(glGetNamedStringivARB).setOutput( 62 'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True 63).setInputArraySize( 64 'name', None 65) 66### END AUTOGENERATED SECTION