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.ProgramObjects

Description

This module corresponds to section 7.3 (Program Objects) of the OpenGL 4.4 spec.

Synopsis

Program Objects

data Program Source #

Instances

Instances details
ObjectName Program Source # 
Instance details

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

Methods

isObjectName :: MonadIO m => Program -> m Bool #

deleteObjectName :: MonadIO m => Program -> m () #

deleteObjectNames :: MonadIO m => [Program] -> m () #

CanBeLabeled Program Source # 
Instance details

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

Methods

objectLabel :: Program -> StateVar (Maybe String) Source #

Show Program Source # 
Instance details

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

Methods

showsPrec :: Int -> Program -> ShowS

show :: Program -> String

showList :: [Program] -> ShowS

Eq Program Source # 
Instance details

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

Methods

(==) :: Program -> Program -> Bool

(/=) :: Program -> Program -> Bool

Ord Program Source # 
Instance details

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

Methods

compare :: Program -> Program -> Ordering

(<) :: Program -> Program -> Bool

(<=) :: Program -> Program -> Bool

(>) :: Program -> Program -> Bool

(>=) :: Program -> Program -> Bool

max :: Program -> Program -> Program

min :: Program -> Program -> Program

Fragment Data

bindFragDataLocation :: Program -> String -> SettableStateVar DrawBufferIndex Source #

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.