|
'''OpenGL extension ATI.vertex_streams |
|
|
|
This module customises the behaviour of the |
|
OpenGL.raw.GL.ATI.vertex_streams to provide a more |
|
Python-friendly API |
|
|
|
Overview (from the spec) |
|
|
|
This extension adds the ability to handle sets of auxilliary |
|
vertex and normal coordinates. These sets of auxilliary |
|
coordinates are termed streams, and can be routed selectively |
|
into the blend stages provided by the vertex blending extension. |
|
This functionality enables software animation techniques such |
|
as keyframe vertex morphing. |
|
|
|
|
|
|
|
The official definition of this extension is available here: |
|
http://www.opengl.org/registry/specs/ATI/vertex_streams.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.vertex_streams import * |
|
from OpenGL.raw.GL.ATI.vertex_streams import _EXTENSION_NAME |
|
|
|
def glInitVertexStreamsATI(): |
|
'''Return boolean indicating whether this extension is available''' |
|
from OpenGL import extensions |
|
return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
|
glVertexStream1svATI=wrapper.wrapper(glVertexStream1svATI).setInputArraySize( |
|
'coords', 1 |
|
) |
|
glVertexStream1ivATI=wrapper.wrapper(glVertexStream1ivATI).setInputArraySize( |
|
'coords', 1 |
|
) |
|
glVertexStream1fvATI=wrapper.wrapper(glVertexStream1fvATI).setInputArraySize( |
|
'coords', 1 |
|
) |
|
glVertexStream1dvATI=wrapper.wrapper(glVertexStream1dvATI).setInputArraySize( |
|
'coords', 1 |
|
) |
|
glVertexStream2svATI=wrapper.wrapper(glVertexStream2svATI).setInputArraySize( |
|
'coords', 2 |
|
) |
|
glVertexStream2ivATI=wrapper.wrapper(glVertexStream2ivATI).setInputArraySize( |
|
'coords', 2 |
|
) |
|
glVertexStream2fvATI=wrapper.wrapper(glVertexStream2fvATI).setInputArraySize( |
|
'coords', 2 |
|
) |
|
glVertexStream2dvATI=wrapper.wrapper(glVertexStream2dvATI).setInputArraySize( |
|
'coords', 2 |
|
) |
|
glVertexStream3svATI=wrapper.wrapper(glVertexStream3svATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glVertexStream3ivATI=wrapper.wrapper(glVertexStream3ivATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glVertexStream3fvATI=wrapper.wrapper(glVertexStream3fvATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glVertexStream3dvATI=wrapper.wrapper(glVertexStream3dvATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glVertexStream4svATI=wrapper.wrapper(glVertexStream4svATI).setInputArraySize( |
|
'coords', 4 |
|
) |
|
glVertexStream4ivATI=wrapper.wrapper(glVertexStream4ivATI).setInputArraySize( |
|
'coords', 4 |
|
) |
|
glVertexStream4fvATI=wrapper.wrapper(glVertexStream4fvATI).setInputArraySize( |
|
'coords', 4 |
|
) |
|
glVertexStream4dvATI=wrapper.wrapper(glVertexStream4dvATI).setInputArraySize( |
|
'coords', 4 |
|
) |
|
glNormalStream3bvATI=wrapper.wrapper(glNormalStream3bvATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glNormalStream3svATI=wrapper.wrapper(glNormalStream3svATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glNormalStream3ivATI=wrapper.wrapper(glNormalStream3ivATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glNormalStream3fvATI=wrapper.wrapper(glNormalStream3fvATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
glNormalStream3dvATI=wrapper.wrapper(glNormalStream3dvATI).setInputArraySize( |
|
'coords', 3 |
|
) |
|
|