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

Contents

- Extension Support
- Enums
- Functions

Description

Synopsis

- glGetARBUniformBufferObject :: MonadIO m => m Bool
- gl_ARB_uniform_buffer_object :: Bool
- pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
- pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
- pattern GL_INVALID_INDEX :: GLuint
- pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
- pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
- pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
- pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
- pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
- pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
- pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
- pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
- pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
- pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
- pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
- pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
- pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
- pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
- pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
- pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
- pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
- pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
- pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
- pattern GL_UNIFORM_BUFFER :: GLenum
- pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
- pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
- pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
- pattern GL_UNIFORM_BUFFER_START :: GLenum
- pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
- pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
- pattern GL_UNIFORM_NAME_LENGTH :: GLenum
- pattern GL_UNIFORM_OFFSET :: GLenum
- pattern GL_UNIFORM_SIZE :: GLenum
- pattern GL_UNIFORM_TYPE :: GLenum
- glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
- glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
- glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
- glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
- glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
- glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()
- glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
- glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint
- glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()
- glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

# Extension Support

glGetARBUniformBufferObject :: MonadIO m => m Bool Source #

Is the ARB_uniform_buffer_object extension supported?

gl_ARB_uniform_buffer_object :: Bool Source #

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

# Enums

pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum Source #

pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum Source #

pattern GL_INVALID_INDEX :: GLuint Source #

pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum Source #

pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum Source #

pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum Source #

pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum Source #

pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum Source #

pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum Source #

pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum Source #

pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum Source #

pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum Source #

pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum Source #

pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum Source #

pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum Source #

pattern GL_UNIFORM_BLOCK_BINDING :: GLenum Source #

pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum Source #

pattern GL_UNIFORM_BLOCK_INDEX :: GLenum Source #

pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum Source #

pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum Source #

pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum Source #

pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum Source #

pattern GL_UNIFORM_BUFFER :: GLenum Source #

pattern GL_UNIFORM_BUFFER_BINDING :: GLenum Source #

pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum Source #

pattern GL_UNIFORM_BUFFER_SIZE :: GLenum Source #

pattern GL_UNIFORM_BUFFER_START :: GLenum Source #

pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum Source #

pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum Source #

pattern GL_UNIFORM_NAME_LENGTH :: GLenum Source #

pattern GL_UNIFORM_OFFSET :: GLenum Source #

pattern GL_UNIFORM_SIZE :: GLenum Source #

pattern GL_UNIFORM_TYPE :: GLenum Source #

# Functions

glBindBufferBase Source #

Arguments

:: MonadIO m |
=> GLenum | `target` of type BufferTargetARB.
-> GLuint | `index`.
-> GLuint | `buffer`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glBindBufferRange Source #

Arguments

:: MonadIO m |
=> GLenum | `target` of type BufferTargetARB.
-> GLuint | `index`.
-> GLuint | `buffer`.
-> GLintptr | `offset` of type `BufferOffset`.
-> GLsizeiptr | `size` of type `BufferSize`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glGetActiveUniformBlockName Source #

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLuint | `uniformBlockIndex`.
-> GLsizei | `bufSize`.
-> Ptr GLsizei | `length` pointing to `1` element of type `GLsizei`.
-> Ptr GLchar | `uniformBlockName` pointing to `bufSize` elements of type `GLchar`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glGetActiveUniformBlockiv Source #

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLuint | `uniformBlockIndex`.
-> GLenum | `pname` of type UniformBlockPName.
-> Ptr GLint | `params` pointing to `COMPSIZE(program,uniformBlockIndex,pname)` elements of type `GLint`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glGetActiveUniformName Source #

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLuint | `uniformIndex`.
-> GLsizei | `bufSize`.
-> Ptr GLsizei | `length` pointing to `1` element of type `GLsizei`.
-> Ptr GLchar | `uniformName` pointing to `bufSize` elements of type `GLchar`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glGetActiveUniformsiv Source #

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLsizei | `uniformCount`.
-> Ptr GLuint | `uniformIndices` pointing to `uniformCount` elements of type `GLuint`.
-> GLenum | `pname` of type UniformPName.
-> Ptr GLint | `params` pointing to `COMPSIZE(uniformCount,pname)` elements of type `GLint`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glGetIntegeri_v Source #

Arguments

:: MonadIO m |
=> GLenum | `target`.
-> GLuint | `index`.
-> Ptr GLint | `data` pointing to `COMPSIZE(target)` elements of type `GLint`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glGetUniformBlockIndex Source #

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> Ptr GLchar | `uniformBlockName` pointing to `COMPSIZE()` elements of type `GLchar`.
-> m GLuint |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glGetUniformIndices Source #

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLsizei | `uniformCount`.
-> Ptr (Ptr GLchar) | `uniformNames` pointing to `COMPSIZE(uniformCount)` elements of type `Ptr GLchar`.
-> Ptr GLuint | `uniformIndices` pointing to `COMPSIZE(uniformCount)` elements of type `GLuint`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.

glUniformBlockBinding Source #

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLuint | `uniformBlockIndex`.
-> GLuint | `uniformBlockBinding`.
-> m () |

Manual pages for OpenGL 3.x or OpenGL 4.x.