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

Methods

shaderID :: s -> GLuint

makeShader :: GLuint -> s

shaderType :: s -> GLenum

Instances

Shader FragmentShader |
Shader VertexShader |

newtype VertexShader

Constructors

VertexShader |

Fields

vertexShaderID :: GLuint

Instances

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

newtype FragmentShader

Constructors

FragmentShader |

Fields

fragmentShaderID :: GLuint

Instances

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

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

# internals

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