'''OpenGL extension VERSION.GL_1_3 This module customises the behaviour of the OpenGL.raw.GL.VERSION.GL_1_3 to provide a more Python-friendly API The official definition of this extension is available here: http://www.opengl.org/registry/specs/VERSION/GL_1_3.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.VERSION.GL_1_3 import * from OpenGL.raw.GL.VERSION.GL_1_3 import _EXTENSION_NAME def glInitGl13VERSION(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) # INPUT glCompressedTexImage3D.data size not checked against imageSize glCompressedTexImage3D=wrapper.wrapper(glCompressedTexImage3D).setInputArraySize( 'data', None ) # INPUT glCompressedTexImage2D.data size not checked against imageSize glCompressedTexImage2D=wrapper.wrapper(glCompressedTexImage2D).setInputArraySize( 'data', None ) # INPUT glCompressedTexImage1D.data size not checked against imageSize glCompressedTexImage1D=wrapper.wrapper(glCompressedTexImage1D).setInputArraySize( 'data', None ) # INPUT glCompressedTexSubImage3D.data size not checked against imageSize glCompressedTexSubImage3D=wrapper.wrapper(glCompressedTexSubImage3D).setInputArraySize( 'data', None ) # INPUT glCompressedTexSubImage2D.data size not checked against imageSize glCompressedTexSubImage2D=wrapper.wrapper(glCompressedTexSubImage2D).setInputArraySize( 'data', None ) # INPUT glCompressedTexSubImage1D.data size not checked against imageSize glCompressedTexSubImage1D=wrapper.wrapper(glCompressedTexSubImage1D).setInputArraySize( 'data', None ) # OUTPUT glGetCompressedTexImage.img COMPSIZE(target,level) glMultiTexCoord1dv=wrapper.wrapper(glMultiTexCoord1dv).setInputArraySize( 'v', 1 ) glMultiTexCoord1fv=wrapper.wrapper(glMultiTexCoord1fv).setInputArraySize( 'v', 1 ) glMultiTexCoord1iv=wrapper.wrapper(glMultiTexCoord1iv).setInputArraySize( 'v', 1 ) glMultiTexCoord1sv=wrapper.wrapper(glMultiTexCoord1sv).setInputArraySize( 'v', 1 ) glMultiTexCoord2dv=wrapper.wrapper(glMultiTexCoord2dv).setInputArraySize( 'v', 2 ) glMultiTexCoord2fv=wrapper.wrapper(glMultiTexCoord2fv).setInputArraySize( 'v', 2 ) glMultiTexCoord2iv=wrapper.wrapper(glMultiTexCoord2iv).setInputArraySize( 'v', 2 ) glMultiTexCoord2sv=wrapper.wrapper(glMultiTexCoord2sv).setInputArraySize( 'v', 2 ) glMultiTexCoord3dv=wrapper.wrapper(glMultiTexCoord3dv).setInputArraySize( 'v', 3 ) glMultiTexCoord3fv=wrapper.wrapper(glMultiTexCoord3fv).setInputArraySize( 'v', 3 ) glMultiTexCoord3iv=wrapper.wrapper(glMultiTexCoord3iv).setInputArraySize( 'v', 3 ) glMultiTexCoord3sv=wrapper.wrapper(glMultiTexCoord3sv).setInputArraySize( 'v', 3 ) glMultiTexCoord4dv=wrapper.wrapper(glMultiTexCoord4dv).setInputArraySize( 'v', 4 ) glMultiTexCoord4fv=wrapper.wrapper(glMultiTexCoord4fv).setInputArraySize( 'v', 4 ) glMultiTexCoord4iv=wrapper.wrapper(glMultiTexCoord4iv).setInputArraySize( 'v', 4 ) glMultiTexCoord4sv=wrapper.wrapper(glMultiTexCoord4sv).setInputArraySize( 'v', 4 ) glLoadTransposeMatrixf=wrapper.wrapper(glLoadTransposeMatrixf).setInputArraySize( 'm', 16 ) glLoadTransposeMatrixd=wrapper.wrapper(glLoadTransposeMatrixd).setInputArraySize( 'm', 16 ) glMultTransposeMatrixf=wrapper.wrapper(glMultTransposeMatrixf).setInputArraySize( 'm', 16 ) glMultTransposeMatrixd=wrapper.wrapper(glMultTransposeMatrixd).setInputArraySize( 'm', 16 ) ### END AUTOGENERATED SECTION GL_SRC0_ALPHA = GL_SOURCE0_ALPHA # alias GL_SRC0_RGB = GL_SOURCE0_RGB # alias GL_SRC1_ALPHA = GL_SOURCE1_ALPHA # alias GL_SRC1_RGB = GL_SOURCE1_RGB # alias GL_SRC2_ALPHA = GL_SOURCE2_ALPHA # alias GL_SRC2_RGB = GL_SOURCE2_RGB # alias from OpenGL import wrapper from OpenGL.raw.GL.VERSION import GL_1_3 as _simple from OpenGL.GL import images, glget for dimensions in (1,2,3): for function in ('glCompressedTexImage%sD','glCompressedTexSubImage%sD'): name = function%(dimensions,) globals()[ name ] = images.compressedImageFunction( getattr( _simple, name ) ) try: del name, function except NameError as err: pass try: del dimensions except NameError as err: pass if _simple.glGetCompressedTexImage: def glGetCompressedTexImage( target, level, img=None ): """Retrieve a compressed texture image""" if img is None: length = glget.glGetTexLevelParameteriv( target, 0, _simple.GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, ) img = arrays.ArrayDataType.zeros( (length,), constants.GL_UNSIGNED_BYTE ) return _simple.glGetCompressedTexImage(target, 0, img);