OpenGL-3.0.3.0: A binding for the OpenGL graphics system
Copyright(c) Sven Panne 2006-2019
LicenseBSD3
MaintainerSven Panne <svenpanne@gmail.com>
Stabilitystable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Description

This module contains functions related to shader uniforms, this corresponds to section 2.20.3 of the OpenGL 3.1 spec (Shader Variables).

Synopsis

Uniform variables

uniformLocation :: Program -> String -> GettableStateVar UniformLocation Source #

activeUniforms :: Program -> GettableStateVar [(GLint, VariableType, String)] Source #

class Uniform a where Source #

Methods

uniform :: UniformLocation -> StateVar a Source #

uniformv :: UniformLocation -> GLsizei -> Ptr a -> IO () Source #

Instances

Instances details
Uniform GLdouble Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar GLdouble Source #

uniformv :: UniformLocation -> GLsizei -> Ptr GLdouble -> IO () Source #

Uniform GLfloat Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar GLfloat Source #

uniformv :: UniformLocation -> GLsizei -> Ptr GLfloat -> IO () Source #

Uniform GLint Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar GLint Source #

uniformv :: UniformLocation -> GLsizei -> Ptr GLint -> IO () Source #

Uniform GLuint Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar GLuint Source #

uniformv :: UniformLocation -> GLsizei -> Ptr GLuint -> IO () Source #

Uniform TextureUnit Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar TextureUnit Source #

uniformv :: UniformLocation -> GLsizei -> Ptr TextureUnit -> IO () Source #

UniformComponent a => Uniform (Vector4 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vector4 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vector4 a) -> IO () Source #

UniformComponent a => Uniform (Vector3 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vector3 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vector3 a) -> IO () Source #

UniformComponent a => Uniform (Vector2 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vector2 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vector2 a) -> IO () Source #

UniformComponent a => Uniform (Vector1 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vector1 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vector1 a) -> IO () Source #

UniformComponent a => Uniform (Vertex4 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vertex4 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex4 a) -> IO () Source #

UniformComponent a => Uniform (Vertex3 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vertex3 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex3 a) -> IO () Source #

UniformComponent a => Uniform (Vertex2 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vertex2 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex2 a) -> IO () Source #

UniformComponent a => Uniform (Vertex1 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Vertex1 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex1 a) -> IO () Source #

UniformComponent a => Uniform (Index1 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Index1 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Index1 a) -> IO () Source #

UniformComponent a => Uniform (Color4 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Color4 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Color4 a) -> IO () Source #

UniformComponent a => Uniform (Color3 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Color3 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Color3 a) -> IO () Source #

UniformComponent a => Uniform (FogCoord1 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (FogCoord1 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (FogCoord1 a) -> IO () Source #

UniformComponent a => Uniform (Normal3 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (Normal3 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (Normal3 a) -> IO () Source #

UniformComponent a => Uniform (TexCoord4 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (TexCoord4 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (TexCoord4 a) -> IO () Source #

UniformComponent a => Uniform (TexCoord3 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (TexCoord3 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (TexCoord3 a) -> IO () Source #

UniformComponent a => Uniform (TexCoord2 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (TexCoord2 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (TexCoord2 a) -> IO () Source #

UniformComponent a => Uniform (TexCoord1 a) Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (TexCoord1 a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (TexCoord1 a) -> IO () Source #

MatrixComponent a => Uniform (GLmatrix a) Source #

Note: uniformv expects all matrices to be in ColumnMajor form.

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform :: UniformLocation -> StateVar (GLmatrix a) Source #

uniformv :: UniformLocation -> GLsizei -> Ptr (GLmatrix a) -> IO () Source #

class Storable a => UniformComponent a Source #

Minimal complete definition

uniform1, uniform2, uniform3, uniform4, getUniform, uniform1v, uniform2v, uniform3v, uniform4v

Instances

Instances details
UniformComponent GLdouble Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform1 :: UniformLocation -> GLdouble -> IO ()

uniform2 :: UniformLocation -> GLdouble -> GLdouble -> IO ()

uniform3 :: UniformLocation -> GLdouble -> GLdouble -> GLdouble -> IO ()

uniform4 :: UniformLocation -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()

getUniform :: Storable (b GLdouble) => GLuint -> GLint -> Ptr (b GLdouble) -> IO ()

uniform1v :: UniformLocation -> GLsizei -> Ptr GLdouble -> IO ()

uniform2v :: UniformLocation -> GLsizei -> Ptr GLdouble -> IO ()

uniform3v :: UniformLocation -> GLsizei -> Ptr GLdouble -> IO ()

uniform4v :: UniformLocation -> GLsizei -> Ptr GLdouble -> IO ()

UniformComponent GLfloat Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform1 :: UniformLocation -> GLfloat -> IO ()

uniform2 :: UniformLocation -> GLfloat -> GLfloat -> IO ()

uniform3 :: UniformLocation -> GLfloat -> GLfloat -> GLfloat -> IO ()

uniform4 :: UniformLocation -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()

getUniform :: Storable (b GLfloat) => GLuint -> GLint -> Ptr (b GLfloat) -> IO ()

uniform1v :: UniformLocation -> GLsizei -> Ptr GLfloat -> IO ()

uniform2v :: UniformLocation -> GLsizei -> Ptr GLfloat -> IO ()

uniform3v :: UniformLocation -> GLsizei -> Ptr GLfloat -> IO ()

uniform4v :: UniformLocation -> GLsizei -> Ptr GLfloat -> IO ()

UniformComponent GLint Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform1 :: UniformLocation -> GLint -> IO ()

uniform2 :: UniformLocation -> GLint -> GLint -> IO ()

uniform3 :: UniformLocation -> GLint -> GLint -> GLint -> IO ()

uniform4 :: UniformLocation -> GLint -> GLint -> GLint -> GLint -> IO ()

getUniform :: Storable (b GLint) => GLuint -> GLint -> Ptr (b GLint) -> IO ()

uniform1v :: UniformLocation -> GLsizei -> Ptr GLint -> IO ()

uniform2v :: UniformLocation -> GLsizei -> Ptr GLint -> IO ()

uniform3v :: UniformLocation -> GLsizei -> Ptr GLint -> IO ()

uniform4v :: UniformLocation -> GLsizei -> Ptr GLint -> IO ()

UniformComponent GLuint Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform

Methods

uniform1 :: UniformLocation -> GLuint -> IO ()

uniform2 :: UniformLocation -> GLuint -> GLuint -> IO ()

uniform3 :: UniformLocation -> GLuint -> GLuint -> GLuint -> IO ()

uniform4 :: UniformLocation -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()

getUniform :: Storable (b GLuint) => GLuint -> GLint -> Ptr (b GLuint) -> IO ()

uniform1v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

uniform2v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

uniform3v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()

uniform4v :: UniformLocation -> GLsizei -> Ptr GLuint -> IO ()