OpenGL.GL.ATI.text_fragment_shader
index
/home/mcfletch/pylive/OpenGL/GL/ATI/text_fragment_shader.py

OpenGL extension ATI.text_fragment_shader
 
This module customises the behaviour of the 
OpenGL.raw.GL.ATI.text_fragment_shader to provide a more 
Python-friendly API
 
Overview (from the spec)
        
        The ATI_fragment_shader extension exposes a powerful fragment
        processing model that provides a very general means of expressing
        fragment color blending and dependent texture address modification.
        The processing is termed a fragment shader or fragment program and 
        is specifed using a register-based model in which there are fixed 
        numbers of instructions, texture lookups, read/write registers, and 
        constants.
        
        ATI_fragment_shader provides a unified instruction set
        for operating on address or color data and eliminates the
        distinction between the two.  That extension provides all the
        interfaces necessary to fully expose this programmable fragment
        processor in GL.
        
        ATI_text_fragment_shader is a redefinition of the 
        ATI_fragment_shader functionality, using a slightly different 
        interface.  The intent of creating ATI_text_fragment_shader is to
        take a step towards treating fragment programs similar to other 
        programmable parts of the GL rendering pipeline, specifically 
        vertex programs. This new interface is intended to appear 
        similar to the ARB_vertex_program API, within the limits of the 
        feature set exposed by the original ATI_fragment_shader extension.
        
        The most significant differences between the two extensions are:
        
        (1) ATI_fragment_shader provides a procedural function call
            interface to specify the fragment program, whereas
            ATI_text_fragment_shader uses a textual string to specify
            the program.  The fundamental syntax and constructs of the
            program "language" remain the same.
        
        (2) The program object managment portions of the interface,
            namely the routines used to create, bind, and delete program
            objects and set program constants are managed
            using the framework defined by ARB_vertex_program.
        
        (3) ATI_fragment_shader refers to the description of the
            programmable fragment processing as a "fragment shader".
            In keeping with the desire to treat all programmable parts
            of the pipeline consistently, ATI_text_fragment_shader refers
            to these as "fragment programs".  The name of the extension is
            left as ATI_text_fragment_shader instead of
            ATI_text_fragment_program in order to indicate the underlying
            similarity between the API's of the two extensions, and to
            differentiate it from any other potential extensions that
            may be able to move even further in the direction of treating
            fragment programs as just another programmable area of the
            GL pipeline.
        
        Although ATI_fragment_shader was originally conceived as a
        device-independent extension that 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
        in ATI_fragment_shader.  Further, in ATI_text_fragment_shader,
        most of these resource limits are fixed by the text grammar and 
        the queries have been removed altogether.
 
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ATI/text_fragment_shader.txt

 
Modules
       
OpenGL.arrays
OpenGL.constant
OpenGL.constants
ctypes
OpenGL.extensions
OpenGL.GL.glget
OpenGL.platform
OpenGL.wrapper

 
Data
        EXTENSION_NAME = 'GL_ATI_text_fragment_shader'
GL_TEXT_FRAGMENT_SHADER_ATI = GL_TEXT_FRAGMENT_SHADER_ATI
__file__ = '/home/mcfletch/pylive/OpenGL/GL/ATI/text_fragment_shader.pyc'
__name__ = 'OpenGL.GL.ATI.text_fragment_shader'
__package__ = 'OpenGL.GL.ATI'