|
'''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 |
|
) |
|
|