OpenGL-2.8.0.0: A binding for the OpenGL graphics system

Stability | Portability :
Maintainer | Sven Panne <sven.panne@aedion.de>
Safe Haskell | None

Graphics.Rendering.OpenGL.GL.Shaders.Shaders

Contents

- internals

Description

This module correspons with section 2.20.1 (Shader Objects) of the OpenGL 3.1 spec.

Synopsis

- class (Eq s, Ord s, Show s, ObjectName s) => Shader s where
  - shaderID :: s -> GLuint
  - makeShader :: GLuint -> s
  - shaderType :: s -> GLenum
- newtype VertexShader = VertexShader {
  - vertexShaderID :: GLuint
  }
- newtype FragmentShader = FragmentShader {
  - fragmentShaderID :: GLuint
  }
- 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
- shaderTypeEnum :: Shader s => s -> GettableStateVar GLenum

# Documentation

class (Eq s, Ord s, Show s, ObjectName s) => Shader s where Source

Methods

shaderID :: s -> GLuint Source

makeShader :: GLuint -> sSource

shaderType :: s -> GLenum Source

Instances

Shader FragmentShader |
Shader VertexShader |

newtype VertexShader Source

Constructors

VertexShader |
Fields vertexShaderID :: GLuint

Instances

Eq VertexShader |
Ord VertexShader |
Show VertexShader |
ObjectName VertexShader |
Shader VertexShader |

newtype FragmentShader Source

Constructors

FragmentShader |
Fields fragmentShaderID :: GLuint

Instances

Eq FragmentShader |
Ord FragmentShader |
Show FragmentShader |
ObjectName FragmentShader |
Shader FragmentShader |

shaderDeleteStatus :: Shader s => s -> GettableStateVar Bool Source

shaderSource :: Shader s => s -> StateVar [String]Source

compileShader :: Shader s => s -> IO ()Source

compileStatus :: Shader s => s -> GettableStateVar Bool Source

shaderInfoLog :: Shader s => s -> GettableStateVar String Source

# internals

shaderTypeEnum :: Shader s => s -> GettableStateVar GLenum Source