Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects

OpenGLRaw-2.6.0.0: A raw binding for the OpenGL graphics system

Copyright | (c) Sven Panne 2015
License | BSD3
Maintainer | Sven Panne <svenpanne@gmail.com>
Stability | stable
Portability | portable
Safe Haskell | None
Language | Haskell2010

Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects

Contents

- Extension Support
- Enums
- Functions

Description

Synopsis

- glGetARBShaderObjects :: MonadIO m => m Bool
- gl_ARB_shader_objects :: Bool
- gl_BOOL_ARB :: GLenum
- gl_BOOL_VEC2_ARB :: GLenum
- gl_BOOL_VEC3_ARB :: GLenum
- gl_BOOL_VEC4_ARB :: GLenum
- gl_FLOAT_MAT2_ARB :: GLenum
- gl_FLOAT_MAT3_ARB :: GLenum
- gl_FLOAT_MAT4_ARB :: GLenum
- gl_FLOAT_VEC2_ARB :: GLenum
- gl_FLOAT_VEC3_ARB :: GLenum
- gl_FLOAT_VEC4_ARB :: GLenum
- gl_INT_VEC2_ARB :: GLenum
- gl_INT_VEC3_ARB :: GLenum
- gl_INT_VEC4_ARB :: GLenum
- gl_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum
- gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum
- gl_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum
- gl_OBJECT_COMPILE_STATUS_ARB :: GLenum
- gl_OBJECT_DELETE_STATUS_ARB :: GLenum
- gl_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum
- gl_OBJECT_LINK_STATUS_ARB :: GLenum
- gl_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum
- gl_OBJECT_SUBTYPE_ARB :: GLenum
- gl_OBJECT_TYPE_ARB :: GLenum
- gl_OBJECT_VALIDATE_STATUS_ARB :: GLenum
- gl_PROGRAM_OBJECT_ARB :: GLenum
- gl_SAMPLER_1D_ARB :: GLenum
- gl_SAMPLER_1D_SHADOW_ARB :: GLenum
- gl_SAMPLER_2D_ARB :: GLenum
- gl_SAMPLER_2D_RECT_ARB :: GLenum
- gl_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum
- gl_SAMPLER_2D_SHADOW_ARB :: GLenum
- gl_SAMPLER_3D_ARB :: GLenum
- gl_SAMPLER_CUBE_ARB :: GLenum
- gl_SHADER_OBJECT_ARB :: GLenum
- glAttachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()
- glCompileShaderARB :: MonadIO m => GLhandleARB -> m ()
- glCreateProgramObjectARB :: MonadIO m => m GLhandleARB
- glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB
- glDeleteObjectARB :: MonadIO m => GLhandleARB -> m ()
- glDetachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()
- glGetActiveUniformARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()
- glGetAttachedObjectsARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m ()
- glGetHandleARB :: MonadIO m => GLenum -> m GLhandleARB
- glGetInfoLogARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
- glGetObjectParameterfvARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
- glGetObjectParameterivARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLint -> m ()
- glGetShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
- glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint
- glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m ()
- glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m ()
- glLinkProgramARB :: MonadIO m => GLhandleARB -> m ()
- glShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()
- glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m ()
- glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
- glUniform1iARB :: MonadIO m => GLint -> GLint -> m ()
- glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
- glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()
- glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
- glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()
- glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
- glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()
- glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
- glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
- glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
- glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
- glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()
- glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()
- glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()
- glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
- glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
- glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
- glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m ()
- glValidateProgramARB :: MonadIO m => GLhandleARB -> m ()

# Extension Support

glGetARBShaderObjects :: MonadIO m => m Bool

Is the ARB_shader_objects extension supported?

gl_ARB_shader_objects :: Bool

Is the ARB_shader_objects extension supported? Note that in the presence of multiple contexts with different capabilities, this might be wrong. Use `glGetARBShaderObjects` in those cases instead.

# Enums

gl_BOOL_ARB :: GLenum

gl_BOOL_VEC2_ARB :: GLenum

gl_BOOL_VEC3_ARB :: GLenum

gl_BOOL_VEC4_ARB :: GLenum

gl_FLOAT_MAT2_ARB :: GLenum

gl_FLOAT_MAT3_ARB :: GLenum

gl_FLOAT_MAT4_ARB :: GLenum

gl_FLOAT_VEC2_ARB :: GLenum

gl_FLOAT_VEC3_ARB :: GLenum

gl_FLOAT_VEC4_ARB :: GLenum

gl_INT_VEC2_ARB :: GLenum

gl_INT_VEC3_ARB :: GLenum

gl_INT_VEC4_ARB :: GLenum

gl_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum

gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum

gl_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum

gl_OBJECT_COMPILE_STATUS_ARB :: GLenum

gl_OBJECT_DELETE_STATUS_ARB :: GLenum

gl_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum

gl_OBJECT_LINK_STATUS_ARB :: GLenum

gl_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum

gl_OBJECT_SUBTYPE_ARB :: GLenum

gl_OBJECT_TYPE_ARB :: GLenum

gl_OBJECT_VALIDATE_STATUS_ARB :: GLenum

gl_PROGRAM_OBJECT_ARB :: GLenum

gl_SAMPLER_1D_ARB :: GLenum

gl_SAMPLER_1D_SHADOW_ARB :: GLenum

gl_SAMPLER_2D_ARB :: GLenum

gl_SAMPLER_2D_RECT_ARB :: GLenum

gl_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum

gl_SAMPLER_2D_SHADOW_ARB :: GLenum

gl_SAMPLER_3D_ARB :: GLenum

gl_SAMPLER_CUBE_ARB :: GLenum

gl_SHADER_OBJECT_ARB :: GLenum

# Functions

glAttachObjectARB

Arguments

:: MonadIO m |
=> GLhandleARB | `containerObj` of type `handleARB`.
-> GLhandleARB | `obj` of type `handleARB`.
-> m () |

This command is an alias for `glAttachShader`.

glCompileShaderARB

Arguments

:: MonadIO m |
=> GLhandleARB | `shaderObj` of type `handleARB`.
-> m () |

This command is an alias for `glCompileShader`.

glCreateProgramObjectARB

Arguments

:: MonadIO m |
=> m GLhandleARB | of type `handleARB`.

This command is an alias for `glCreateProgram`.

glCreateShaderObjectARB

Arguments

:: MonadIO m |
=> GLenum | `shaderType`.
-> m GLhandleARB | of type `handleARB`.

This command is an alias for `glCreateShader`.

glDeleteObjectARB

Arguments

:: MonadIO m |
=> GLhandleARB | `obj` of type `handleARB`.
-> m () |

glDetachObjectARB

Arguments

:: MonadIO m |
=> GLhandleARB | `containerObj` of type `handleARB`.
-> GLhandleARB | `attachedObj` of type `handleARB`.
-> m () |

This command is an alias for `glDetachShader`.

glGetActiveUniformARB

Arguments

:: MonadIO m |
=> GLhandleARB | `programObj` of type `handleARB`.
-> GLuint | `index`.
-> GLsizei | `maxLength`.
-> Ptr GLsizei | `length` pointing to `1` element of type `GLsizei`.
-> Ptr GLint | `size` pointing to `1` element of type `GLint`.
-> Ptr GLenum | `type` pointing to `1` element of type `GLenum`.
-> Ptr GLcharARB | `name` pointing to `maxLength` elements of type `GLcharARB`.
-> m () |

This command is an alias for `glGetActiveUniform`.

glGetAttachedObjectsARB

Arguments

:: MonadIO m |
=> GLhandleARB | `containerObj` of type `handleARB`.
-> GLsizei | `maxCount`.
-> Ptr GLsizei | `count` pointing to `1` element of type `GLsizei`.
-> Ptr GLhandleARB | `obj` pointing to `maxCount` elements of type `handleARB`.
-> m () |

glGetHandleARB

Arguments

:: MonadIO m |
=> GLenum | `pname`.
-> m GLhandleARB | of type `handleARB`.

glGetInfoLogARB

Arguments

:: MonadIO m |
=> GLhandleARB | `obj` of type `handleARB`.
-> GLsizei | `maxLength`.
-> Ptr GLsizei | `length` pointing to `1` element of type `GLsizei`.
-> Ptr GLcharARB | `infoLog` pointing to `maxLength` elements of type `GLcharARB`.
-> m () |

glGetObjectParameterfvARB

Arguments

:: MonadIO m |
=> GLhandleARB | `obj` of type `handleARB`.
-> GLenum | `pname`.
-> Ptr GLfloat | `params` pointing to `COMPSIZE(pname)` elements of type `GLfloat`.
-> m () |

glGetObjectParameterivARB

Arguments

:: MonadIO m |
=> GLhandleARB | `obj` of type `handleARB`.
-> GLenum | `pname`.
-> Ptr GLint | `params` pointing to `COMPSIZE(pname)` elements of type `GLint`.
-> m () |

glGetShaderSourceARB

Arguments

:: MonadIO m |
=> GLhandleARB | `obj` of type `handleARB`.
-> GLsizei | `maxLength`.
-> Ptr GLsizei | `length` pointing to `1` element of type `GLsizei`.
-> Ptr GLcharARB | `source` pointing to `maxLength` elements of type `GLcharARB`.
-> m () |

This command is an alias for `glGetShaderSource`.

glGetUniformLocationARB

Arguments

:: MonadIO m |
=> GLhandleARB | `programObj` of type `handleARB`.
-> Ptr GLcharARB | `name`.
-> m GLint |

This command is an alias for `glGetUniformLocation`.

glGetUniformfvARB

Arguments

:: MonadIO m |
=> GLhandleARB | `programObj` of type `handleARB`.
-> GLint | `location`.
-> Ptr GLfloat | `params` pointing to `COMPSIZE(programObj,location)` elements of type `GLfloat`.
-> m () |

This command is an alias for `glGetUniformfv`.

glGetUniformivARB

Arguments

:: MonadIO m |
=> GLhandleARB | `programObj` of type `handleARB`.
-> GLint | `location`.
-> Ptr GLint | `params` pointing to `COMPSIZE(programObj,location)` elements of type `GLint`.
-> m () |

This command is an alias for `glGetUniformiv`.

glLinkProgramARB

Arguments

:: MonadIO m |
=> GLhandleARB | `programObj` of type `handleARB`.
-> m () |

This command is an alias for `glLinkProgram`.

glShaderSourceARB

Arguments

:: MonadIO m |
=> GLhandleARB | `shaderObj` of type `handleARB`.
-> GLsizei | `count`.
-> Ptr (Ptr GLcharARB) | `string` pointing to `count` elements of type `Ptr GLcharARB`.
-> Ptr GLint | `length` pointing to `count` elements of type `GLint`.
-> m () |

This command is an alias for `glShaderSource`.

glUniform1fARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLfloat | `v0`.
-> m () |

This command is an alias for `glUniform1f`.

glUniform1fvARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLfloat | `value` pointing to `count*1` elements of type `GLfloat`.
-> m () |

This command is an alias for `glUniform1fv`.

glUniform1iARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLint | `v0`.
-> m () |

This command is an alias for `glUniform1i`.

glUniform1ivARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLint | `value` pointing to `count*1` elements of type `GLint`.
-> m () |

This command is an alias for `glUniform1iv`.

glUniform2fARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLfloat | `v0`.
-> GLfloat | `v1`.
-> m () |

This command is an alias for `glUniform2f`.

glUniform2fvARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLfloat | `value` pointing to `count*2` elements of type `GLfloat`.
-> m () |

This command is an alias for `glUniform2fv`.

glUniform2iARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLint | `v0`.
-> GLint | `v1`.
-> m () |

This command is an alias for `glUniform2i`.

glUniform2ivARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLint | `value` pointing to `count*2` elements of type `GLint`.
-> m () |

This command is an alias for `glUniform2iv`.

glUniform3fARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLfloat | `v0`.
-> GLfloat | `v1`.
-> GLfloat | `v2`.
-> m () |

This command is an alias for `glUniform3f`.

glUniform3fvARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLfloat | `value` pointing to `count*3` elements of type `GLfloat`.
-> m () |

This command is an alias for `glUniform3fv`.

glUniform3iARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLint | `v0`.
-> GLint | `v1`.
-> GLint | `v2`.
-> m () |

This command is an alias for `glUniform3i`.

glUniform3ivARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLint | `value` pointing to `count*3` elements of type `GLint`.
-> m () |

This command is an alias for `glUniform3iv`.

glUniform4fARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLfloat | `v0`.
-> GLfloat | `v1`.
-> GLfloat | `v2`.
-> GLfloat | `v3`.
-> m () |

This command is an alias for `glUniform4f`.

glUniform4fvARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLfloat | `value` pointing to `count*4` elements of type `GLfloat`.
-> m () |

This command is an alias for `glUniform4fv`.

glUniform4iARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLint | `v0`.
-> GLint | `v1`.
-> GLint | `v2`.
-> GLint | `v3`.
-> m () |

This command is an alias for `glUniform4i`.

glUniform4ivARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> Ptr GLint | `value` pointing to `count*4` elements of type `GLint`.
-> m () |

This command is an alias for `glUniform4iv`.

glUniformMatrix2fvARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> GLboolean | `transpose` of type Boolean.
-> Ptr GLfloat | `value` pointing to `count*4` elements of type `GLfloat`.
-> m () |

This command is an alias for `glUniformMatrix2fv`.

glUniformMatrix3fvARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> GLboolean | `transpose` of type Boolean.
-> Ptr GLfloat | `value` pointing to `count*9` elements of type `GLfloat`.
-> m () |

This command is an alias for `glUniformMatrix3fv`.

glUniformMatrix4fvARB

Arguments

:: MonadIO m |
=> GLint | `location`.
-> GLsizei | `count`.
-> GLboolean | `transpose` of type Boolean.
-> Ptr GLfloat | `value` pointing to `count*16` elements of type `GLfloat`.
-> m () |

This command is an alias for `glUniformMatrix4fv`.

glUseProgramObjectARB

Arguments

:: MonadIO m |
=> GLhandleARB | `programObj` of type `handleARB`.
-> m () |

This command is an alias for `glUseProgram`.

glValidateProgramARB

Arguments

:: MonadIO m |
=> GLhandleARB | `programObj` of type `handleARB`.
-> m () |

This command is an alias for `glValidateProgram`.