OpenGL.GL.ARB.fragment_program
index
/home/mcfletch/pylive/OpenGL/GL/ARB/fragment_program.py

OpenGL extension ARB.fragment_program
 
This module customises the behaviour of the 
OpenGL.raw.GL.ARB.fragment_program to provide a more 
Python-friendly API
 
Overview (from the spec)
        
        Unextended OpenGL mandates a certain set of configurable per-
        fragment computations defining texture application, texture 
        environment, color sum, and fog operations.  Several extensions have 
        added further per-fragment computations to OpenGL.  For example, 
        extensions have defined new texture environment capabilities 
        (ARB_texture_env_add, ARB_texture_env_combine, ARB_texture_env_dot3,
        ARB_texture_env_crossbar), per-fragment depth comparisons 
        (ARB_depth_texture, ARB_shadow, ARB_shadow_ambient, 
        EXT_shadow_funcs), per-fragment lighting (EXT_fragment_lighting, 
        EXT_light_texture), and environment mapped bump mapping 
        (ATI_envmap_bumpmap).  
        
        Each such extension adds a small set of relatively inflexible per-
        fragment computations.
        
        This inflexibility is in contrast to the typical flexibility 
        provided by the underlying programmable floating point engines 
        (whether micro-coded fragment engines, DSPs, or CPUs) that are 
        traditionally used to implement OpenGL's texturing computations.  
        The purpose of this extension is to expose to the OpenGL application 
        writer a significant degree of per-fragment programmability for 
        computing fragment parameters.
        
        For the purposes of discussing this extension, a fragment program is 
        a sequence of floating-point 4-component vector operations that 
        determines how a set of program parameters (not specific to an
        individual fragment) and an input set of per-fragment parameters are 
        transformed to a set of per-fragment result parameters.
        
        The per-fragment computations for standard OpenGL given a particular 
        set of texture and fog application modes (along with any state for 
        extensions defining per-fragment computations) is, in essence, a 
        fragment program.  However, the sequence of operations is defined 
        implicitly by the current OpenGL state settings rather than defined 
        explicitly as a sequence of instructions.
        
        This extension provides an explicit mechanism for defining fragment 
        program instruction sequences for application-defined fragment 
        programs.  In order to define such fragment programs, this extension 
        defines a fragment programming model including a floating-point
        4-component vector instruction set and a relatively large set of 
        floating-point 4-component registers.
        
        The extension's fragment programming model is designed for efficient
        hardware implementation and to support a wide variety of fragment 
        programs.  By design, the entire set of existing fragment programs 
        defined by existing OpenGL per-fragment computation extensions can 
        be implemented using the extension's fragment programming model.
 
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/fragment_program.txt

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

 
Data
        EXTENSION_NAME = 'GL_ARB_fragment_program'
GL_FRAGMENT_PROGRAM_ARB = GL_FRAGMENT_PROGRAM_ARB
GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB
GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB
GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB
GL_MAX_TEXTURE_COORDS_ARB = GL_MAX_TEXTURE_COORDS_ARB
GL_MAX_TEXTURE_IMAGE_UNITS_ARB = GL_MAX_TEXTURE_IMAGE_UNITS_ARB
GL_PROGRAM_ALU_INSTRUCTIONS_ARB = GL_PROGRAM_ALU_INSTRUCTIONS_ARB
GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB
GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB
GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB
GL_PROGRAM_TEX_INDIRECTIONS_ARB = GL_PROGRAM_TEX_INDIRECTIONS_ARB
GL_PROGRAM_TEX_INSTRUCTIONS_ARB = GL_PROGRAM_TEX_INSTRUCTIONS_ARB
__file__ = '/home/mcfletch/pylive/OpenGL/GL/ARB/fragment_program.pyc'
__name__ = 'OpenGL.GL.ARB.fragment_program'
__package__ = 'OpenGL.GL.ARB'