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

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

Graphics.GL.ARB.ShaderObjects

Contents

- Extension Support
- Enums
- Functions

Description

Synopsis

- glGetARBShaderObjects :: MonadIO m => m Bool
- gl_ARB_shader_objects :: Bool
- pattern GL_BOOL_ARB :: GLenum
- pattern GL_BOOL_VEC2_ARB :: GLenum
- pattern GL_BOOL_VEC3_ARB :: GLenum
- pattern GL_BOOL_VEC4_ARB :: GLenum
- pattern GL_FLOAT_MAT2_ARB :: GLenum
- pattern GL_FLOAT_MAT3_ARB :: GLenum
- pattern GL_FLOAT_MAT4_ARB :: GLenum
- pattern GL_FLOAT_VEC2_ARB :: GLenum
- pattern GL_FLOAT_VEC3_ARB :: GLenum
- pattern GL_FLOAT_VEC4_ARB :: GLenum
- pattern GL_INT_VEC2_ARB :: GLenum
- pattern GL_INT_VEC3_ARB :: GLenum
- pattern GL_INT_VEC4_ARB :: GLenum
- pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum
- pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum
- pattern GL_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum
- pattern GL_OBJECT_COMPILE_STATUS_ARB :: GLenum
- pattern GL_OBJECT_DELETE_STATUS_ARB :: GLenum
- pattern GL_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum
- pattern GL_OBJECT_LINK_STATUS_ARB :: GLenum
- pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum
- pattern GL_OBJECT_SUBTYPE_ARB :: GLenum
- pattern GL_OBJECT_TYPE_ARB :: GLenum
- pattern GL_OBJECT_VALIDATE_STATUS_ARB :: GLenum
- pattern GL_PROGRAM_OBJECT_ARB :: GLenum
- pattern GL_SAMPLER_1D_ARB :: GLenum
- pattern GL_SAMPLER_1D_SHADOW_ARB :: GLenum
- pattern GL_SAMPLER_2D_ARB :: GLenum
- pattern GL_SAMPLER_2D_RECT_ARB :: GLenum
- pattern GL_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum
- pattern GL_SAMPLER_2D_SHADOW_ARB :: GLenum
- pattern GL_SAMPLER_3D_ARB :: GLenum
- pattern GL_SAMPLER_CUBE_ARB :: GLenum
- pattern 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 Source #

Is the ARB_shader_objects extension supported?

gl_ARB_shader_objects :: Bool Source #

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

pattern GL_BOOL_ARB :: GLenum Source #

pattern GL_BOOL_VEC2_ARB :: GLenum Source #

pattern GL_BOOL_VEC3_ARB :: GLenum Source #

pattern GL_BOOL_VEC4_ARB :: GLenum Source #

pattern GL_FLOAT_MAT2_ARB :: GLenum Source #

pattern GL_FLOAT_MAT3_ARB :: GLenum Source #

pattern GL_FLOAT_MAT4_ARB :: GLenum Source #

pattern GL_FLOAT_VEC2_ARB :: GLenum Source #

pattern GL_FLOAT_VEC3_ARB :: GLenum Source #

pattern GL_FLOAT_VEC4_ARB :: GLenum Source #

pattern GL_INT_VEC2_ARB :: GLenum Source #

pattern GL_INT_VEC3_ARB :: GLenum Source #

pattern GL_INT_VEC4_ARB :: GLenum Source #

pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum Source #

pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum Source #

pattern GL_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum Source #

pattern GL_OBJECT_COMPILE_STATUS_ARB :: GLenum Source #

pattern GL_OBJECT_DELETE_STATUS_ARB :: GLenum Source #

pattern GL_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum Source #

pattern GL_OBJECT_LINK_STATUS_ARB :: GLenum Source #

pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum Source #

pattern GL_OBJECT_SUBTYPE_ARB :: GLenum Source #

pattern GL_OBJECT_TYPE_ARB :: GLenum Source #

pattern GL_OBJECT_VALIDATE_STATUS_ARB :: GLenum Source #

pattern GL_PROGRAM_OBJECT_ARB :: GLenum Source #

pattern GL_SAMPLER_1D_ARB :: GLenum Source #

pattern GL_SAMPLER_1D_SHADOW_ARB :: GLenum Source #

pattern GL_SAMPLER_2D_ARB :: GLenum Source #

pattern GL_SAMPLER_2D_RECT_ARB :: GLenum Source #

pattern GL_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum Source #

pattern GL_SAMPLER_2D_SHADOW_ARB :: GLenum Source #

pattern GL_SAMPLER_3D_ARB :: GLenum Source #

pattern GL_SAMPLER_CUBE_ARB :: GLenum Source #

pattern GL_SHADER_OBJECT_ARB :: GLenum Source #

# Functions

glAttachObjectARB Source #

Arguments

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

This command is an alias for `glAttachShader`.

glCompileShaderARB Source #

Arguments

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

This command is an alias for `glCompileShader`.

glCreateProgramObjectARB Source #

Arguments

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

This command is an alias for `glCreateProgram`.

glCreateShaderObjectARB Source #

Arguments

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

This command is an alias for `glCreateShader`.

glDeleteObjectARB Source #

Arguments

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

glDetachObjectARB Source #

Arguments

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

This command is an alias for `glDetachShader`.

glGetActiveUniformARB Source #

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 UniformType.
-> Ptr GLcharARB | `name` pointing to `maxLength` elements of type `GLcharARB`.
-> m () |

This command is an alias for `glGetActiveUniform`.

glGetAttachedObjectsARB Source #

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 Source #

Arguments

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

glGetInfoLogARB Source #

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 Source #

Arguments

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

glGetObjectParameterivARB Source #

Arguments

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

glGetShaderSourceARB Source #

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 Source #

Arguments

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

This command is an alias for `glGetUniformLocation`.

glGetUniformfvARB Source #

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 Source #

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 Source #

Arguments

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

This command is an alias for `glLinkProgram`.

glShaderSourceARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform1f`.

glUniform1fvARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform1i`.

glUniform1ivARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform2f`.

glUniform2fvARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform2i`.

glUniform2ivARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform3f`.

glUniform3fvARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform3i`.

glUniform3ivARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform4f`.

glUniform4fvARB Source #

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 Source #

Arguments

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

This command is an alias for `glUniform4i`.

glUniform4ivARB Source #

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 Source #

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 Source #

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 Source #

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 Source #

Arguments

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

This command is an alias for `glUseProgram`.

glValidateProgramARB Source #

Arguments

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

This command is an alias for `glValidateProgram`.