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

OpenGL extension ARB.shader_texture_lod
 
This module customises the behaviour of the 
OpenGL.raw.GL.ARB.shader_texture_lod to provide a more 
Python-friendly API
 
Overview (from the spec)
        
        This extension adds additional texture functions to the
        OpenGL Shading Language which provide the shader writer
        with explicit control of LOD.
        
        Mipmap texture fetches and anisotropic texture fetches
        require an implicit derivatives to calculate rho, lambda
        and/or the line of anisotropy.  These implicit derivatives
        will be undefined for texture fetches occuring inside
        non-uniform control flow or for vertex shader texture
        fetches, resulting in undefined texels.
        
        The additional texture functions introduced with
        this extension provide explict control of LOD
        (isotropic texture functions) or provide explicit
        derivatives (anisotropic texture functions).
        
        Anisotropic texture functions return defined texels
        for mipmap texture fetches or anisotropic texture fetches,
        even inside non-uniform control flow.  Isotropic texture
        functions return defined texels for mipmap texture fetches,
        even inside non-uniform control flow.  However, isotropic
        texture functions return undefined texels for anisotropic
        texture fetches.
        
        The existing isotropic vertex texture functions:
        
            texture1DLod,   texture1DProjLod,
            texture2DLod,   texture2DProjLod,
            texture3DLod,   texture3DProjLod,
            textureCubeLod, textureCubProjLod,
            shadow1DLod,    shadow1DProjLod,
            shadow2DLod,    shadow2DProjLod,
        
        are added to the built-in functions for fragment shaders.
        
        New anisotropic texture functions, providing explicit
        derivatives:
        
            texture1DGradARB(         sampler1D sampler,
                                      float P, float dPdx, float dPdy );
            texture1DProjGradARB(     sampler2D sampler,
                                      vec2  P, float dPdx, float dPdy );
            texture1DProjGradARB(     sampler2D sampler,
                                      vec4  P, float dPdx, float dPdy );
        
            texture2DGradARB(         sampler2D sampler,
                                      vec2  P, vec2  dPdx, vec2  dPdy );
            texture2DProjGradARB(     sampler2D sampler,
                                      vec3  P, vec2  dPdx, vec2  dPdy );
            texture2DProjGradARB(     sampler2D sampler,
                                      vec4  P, vec2  dPdx, vec2  dPdy );
        
            texture3DGradARB(         sampler3D sampler,
                                      vec3  P, vec3  dPdx, vec3  dPdy );
            texture3DProjGradARB(     sampler3D sampler,
                                      vec4  P, vec3  dPdx, vec3  dPdy );
        
            textureCubeGradARB(       samplerCube sampler,
                                      vec3  P, vec3  dPdx, vec3  dPdy );
        
            shadow1DGradARB(          sampler1DShadow sampler,
                                      vec3  P, float dPdx, float dPdy );
            shadow1DProjGradARB(      sampler1DShadow sampler,
                                      vec4  P, float dPdx, float dPdy );
        
            shadow2DGradARB(          sampler2DShadow sampler,
                                      vec3  P, vec2  dPdx, vec2  dPdy );
            shadow2DProjGradARB(      sampler2DShadow sampler,
                                      vec4  P, vec2  dPdx, vec2  dPdy );
        
        
            texture2DRectGradARB(     sampler2DRect sampler,
                                      vec2  P, vec2  dPdx, vec2  dPdy );
            texture2DRectProjGradARB( sampler2DRect sampler,
                                      vec3  P, vec2  dPdx, vec2  dPdy );
            texture2DRectProjGradARB( sampler2DRect sampler,
                                      vec4  P, vec2  dPdx, vec2  dPdy );
        
            shadow2DRectGradARB(      sampler2DRectShadow sampler,
                                      vec3  P, vec2  dPdx, vec2  dPdy );
            shadow2DRectProjGradARB(  sampler2DRectShadow sampler,
                                      vec4  P, vec2  dPdx, vec2  dPdy );
        
         are added to the built-in functions for vertex shaders
         and fragment shaders.
 
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ARB/shader_texture_lod.txt

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

 
Data
        EXTENSION_NAME = 'GL_ARB_shader_texture_lod'
__file__ = '/home/mcfletch/pylive/OpenGL/GL/ARB/shader_texture_lod.pyc'
__name__ = 'OpenGL.GL.ARB.shader_texture_lod'
__package__ = 'OpenGL.GL.ARB'