OpenGL-2.8.0.0: A binding for the OpenGL graphics system

StabilityPortability :
MaintainerSven Panne <sven.panne@aedion.de>
Safe HaskellNone

Graphics.Rendering.OpenGL.GL.Shaders.Program

Contents

Description

This module correspons with section 2.20.2 (Program Objects) of the OpenGL 3.1 spec.

Synopsis

Program Objects

newtype Program Source

Constructors

Program 

Fields

programID :: GLuint
 

bindFragDataLocation :: Program -> String -> SettableStateVar DrawBufferIndexSource

bindFragDataLocation binds a varying variable, specified by program and name, to a drawbuffer. The effects only take place after succesfull linking of the program. invalid arguments and conditions are - an index larger than maxDrawBufferIndex - names starting with gl_ linking failure will ocure when - one of the arguments was invalid - more than one varying varuable name is bound to the same index It's not an error to specify unused variables, those will be ingored.

getFragDataLocation :: Program -> String -> IO (Maybe DrawBufferIndex)Source

query the binding of a given variable, specified by program and name. The program has to be linked. The result is Nothing if an error occures or the name is not a name of a varying variable. If the program hasn't been linked an InvalidOperation error is generated.

internals