| | '''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 ) |
| |
|
| | |
| | glTexBumpParameterivATI=wrapper.wrapper(glTexBumpParameterivATI).setInputArraySize( |
| | 'param', None |
| | ) |
| | |
| | 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 |
| | ) |
| | |