|
'''OpenGL extension ATI.fragment_shader |
|
|
|
This module customises the behaviour of the |
|
OpenGL.raw.GL.ATI.fragment_shader to provide a more |
|
Python-friendly API |
|
|
|
Overview (from the spec) |
|
|
|
This extension exposes a powerful fragment shading model which |
|
provides a very general means of expressing fragment color blending |
|
and dependent texture address modification. The programming is |
|
a register-based model in which there is a fixed number of |
|
instructions, texture lookups, read/write registers, and constants. |
|
|
|
The fragment shader extension provides a unified instruction set |
|
for operating on address or color data and eliminates the |
|
distinction between the two. This extension provides all the |
|
interfaces necessary to fully expose this programmable fragment |
|
shader in GL. |
|
|
|
Although conceived as a device-independent extension which would |
|
expose the capabilities of future generations of hardware, changing |
|
trends in programmable hardware have affected the lifespan of this |
|
extension. For this reason you will now find a fixed set of |
|
features and resources exposed, and the queries to determine this |
|
set have been deprecated. |
|
|
|
The official definition of this extension is available here: |
|
http://www.opengl.org/registry/specs/ATI/fragment_shader.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.fragment_shader import * |
|
from OpenGL.raw.GL.ATI.fragment_shader import _EXTENSION_NAME |
|
|
|
def glInitFragmentShaderATI(): |
|
'''Return boolean indicating whether this extension is available''' |
|
from OpenGL import extensions |
|
return extensions.hasGLExtension( _EXTENSION_NAME ) |
|
|
|
glSetFragmentShaderConstantATI=wrapper.wrapper(glSetFragmentShaderConstantATI).setInputArraySize( |
|
'value', 4 |
|
) |
|
|