|
| Graphics.Rendering.OpenGL.GL.Shaders | | Portability | portable | | Stability | stable | | Maintainer | sven.panne@aedion.de |
|
|
|
|
|
| Description |
| This module corresponds to sections 2.15 (Vertex Shaders) and section 3.11
(Fragment Shaders) of the OpenGL 2.1 specs.
|
|
| Synopsis |
|
|
|
|
| Shader Objects
|
|
| class (Eq s, Ord s, Show s, ObjectName s) => Shader s |
| Instances | |
|
|
| data VertexShader |
Instances | |
|
|
| data FragmentShader |
Instances | |
|
|
| shaderDeleteStatus :: Shader s => s -> GettableStateVar Bool |
|
| shaderSource :: Shader s => s -> StateVar [String] |
|
| compileShader :: Shader s => s -> IO () |
|
| compileStatus :: Shader s => s -> GettableStateVar Bool |
|
| shaderInfoLog :: Shader s => s -> GettableStateVar String |
|
| Program Objects
|
|
| data Program |
Instances | |
|
|
| programDeleteStatus :: Program -> GettableStateVar Bool |
|
| attachedShaders :: Program -> StateVar ([VertexShader], [FragmentShader]) |
|
| linkProgram :: Program -> IO () |
|
| linkStatus :: Program -> GettableStateVar Bool |
|
| programInfoLog :: Program -> GettableStateVar String |
|
| validateProgram :: Program -> IO () |
|
| validateStatus :: Program -> GettableStateVar Bool |
|
| currentProgram :: StateVar (Maybe Program) |
|
| Vertex attributes
|
|
| attribLocation :: Program -> String -> StateVar AttribLocation |
|
| data VariableType |
| Constructors | | Float' | | | FloatVec2 | | | FloatVec3 | | | FloatVec4 | | | FloatMat2 | | | FloatMat3 | | | FloatMat4 | | | Int' | | | IntVec2 | | | IntVec3 | | | IntVec4 | | | Bool | | | BoolVec2 | | | BoolVec3 | | | BoolVec4 | | | Sampler1D | | | Sampler2D | | | Sampler3D | | | SamplerCube | | | Sampler1DShadow | | | Sampler2DShadow | |
| Instances | |
|
|
| activeAttribs :: Program -> GettableStateVar [(GLint, VariableType, String)] |
|
| Uniform variables
|
|
| data UniformLocation |
Instances | |
|
|
| uniformLocation :: Program -> String -> GettableStateVar UniformLocation |
|
| activeUniforms :: Program -> GettableStateVar [(GLint, VariableType, String)] |
|
| class Uniform a where |
| | Methods | | | Instances | |
|
|
| class Storable a => UniformComponent a |
| Instances | |
|
|
| Implementation limits related to GLSL
|
|
| maxVertexTextureImageUnits :: GettableStateVar GLsizei |
| Contains the number of hardware units that can be used to access texture
maps from the vertex processor. The minimum legal value is 0.
|
|
| maxTextureImageUnits :: GettableStateVar GLsizei |
| Contains the total number of hardware units that can be used to access
texture maps from the fragment processor. The minimum legal value is 2.
|
|
| maxCombinedTextureImageUnits :: GettableStateVar GLsizei |
| Contains the total number of hardware units that can be used to access
texture maps from the vertex processor and the fragment processor combined.
Note: If the vertex shader and the fragment processing stage access the same
texture image unit, then that counts as using two texture image units. The
minimum legal value is 2.
|
|
| maxTextureCoords :: GettableStateVar GLsizei |
| Contains the number of texture coordinate sets that are available. The
minimum legal value is 2.
|
|
| maxVertexUniformComponents :: GettableStateVar GLsizei |
| Contains the number of individual components (i.e., floating-point, integer
or boolean values) that are available for vertex shader uniform variables.
The minimum legal value is 512.
|
|
| maxFragmentUniformComponents :: GettableStateVar GLsizei |
| Contains the number of individual components (i.e., floating-point, integer
or boolean values) that are available for fragment shader uniform variables.
The minimum legal value is 64.
|
|
| maxVertexAttribs :: GettableStateVar GLsizei |
| Contains the number of active vertex attributes that are available. The
minimum legal value is 16.
|
|
| maxVaryingFloats :: GettableStateVar GLsizei |
| Contains the number of individual floating-point values available for
varying variables. The minimum legal value is 32.
|
|
| Produced by Haddock version 0.8 |