'''OpenGL extension ATI.envmap_bumpmap This module customises the behaviour of the OpenGL.raw.GL.ATI.envmap_bumpmap to provide a more Python-friendly API Overview (from the spec) This extension adds environment mapped bump mapping (EMBM) to the GL. The method exposed by this extension is to use a dependent texture read on a bumpmap (du,dv) texture to offset the texture coordinates read into a map on another texture unit. This (du,dv) offset is also rotated through a user-specified rotation matrix to get the texture coordinates into the appropriate space. A new texture format is introduced in order for specifying the (du,dv) bumpmap texture. This map represents -1 <= du,dv <= 1 offsets to be applied to the texture coordinates used to read into the base map. Additionally, the (du,dv) offsets are transformed by a rotation matrix that this extension allows the user to specify. Further, a new color operation is added to EXT_texture_env_combine to specify both that bumpmapping is enabled and which texture unit to apply the bump offset to. The official definition of this extension is available here: http://www.opengl.org/registry/specs/ATI/envmap_bumpmap.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.ATI.envmap_bumpmap import * from OpenGL.raw.GL.ATI.envmap_bumpmap import _EXTENSION_NAME def glInitEnvmapBumpmapATI(): '''Return boolean indicating whether this extension is available''' from OpenGL import extensions return extensions.hasGLExtension( _EXTENSION_NAME ) # INPUT glTexBumpParameterivATI.param size not checked against 'pname' glTexBumpParameterivATI=wrapper.wrapper(glTexBumpParameterivATI).setInputArraySize( 'param', None ) # INPUT glTexBumpParameterfvATI.param size not checked against 'pname' glTexBumpParameterfvATI=wrapper.wrapper(glTexBumpParameterfvATI).setInputArraySize( 'param', None ) glGetTexBumpParameterivATI=wrapper.wrapper(glGetTexBumpParameterivATI).setOutput( 'param',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True ) glGetTexBumpParameterfvATI=wrapper.wrapper(glGetTexBumpParameterfvATI).setOutput( 'param',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True ) ### END AUTOGENERATED SECTION