-------------------------------------------------------------------------------- -- | -- Module : Graphics.Rendering.OpenGL.GL.Shaders -- Copyright : (c) Sven Panne 2002-2009 -- License : BSD-style (see the file libraries/OpenGL/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- This module corresponds to sections 2.15 (Vertex Shaders) and section 3.11 -- (Fragment Shaders) of the OpenGL 2.1 specs. -- -------------------------------------------------------------------------------- module Graphics.Rendering.OpenGL.GL.Shaders ( -- * Shader Objects Shader, VertexShader, FragmentShader, shaderDeleteStatus, shaderSource, compileShader, compileStatus, shaderInfoLog, -- * Program Objects Program, programDeleteStatus, attachedShaders, linkProgram, linkStatus, programInfoLog, validateProgram, validateStatus, currentProgram, -- * FragmentData bindFragDataLocation, getFragDataLocation, -- * Vertex attributes attribLocation, VariableType(..), activeAttribs, -- * Uniform variables UniformLocation, uniformLocation, activeUniforms, Uniform(..), UniformComponent, -- * Implementation limits related to GLSL maxVertexTextureImageUnits, maxTextureImageUnits, maxCombinedTextureImageUnits, maxTextureCoords, maxVertexUniformComponents, maxFragmentUniformComponents, maxVertexAttribs, maxVaryingFloats ) where import Graphics.Rendering.OpenGL.GL.Shaders.Shaders import Graphics.Rendering.OpenGL.GL.Shaders.Attribs import Graphics.Rendering.OpenGL.GL.Shaders.Limits import Graphics.Rendering.OpenGL.GL.Shaders.Program import Graphics.Rendering.OpenGL.GL.Shaders.Uniform import Graphics.Rendering.OpenGL.GL.Shaders.Variables