Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject

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

Contents

- Extension Support
- Enums
- Functions

Description

Synopsis

- glGetARBUniformBufferObject :: MonadIO m => m Bool
- gl_ARB_uniform_buffer_object :: Bool
- gl_ACTIVE_UNIFORM_BLOCKS :: GLenum
- gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
- gl_INVALID_INDEX :: GLuint
- gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
- gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
- gl_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
- gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
- gl_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
- gl_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
- gl_MAX_UNIFORM_BLOCK_SIZE :: GLenum
- gl_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
- gl_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
- gl_UNIFORM_ARRAY_STRIDE :: GLenum
- gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
- gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
- gl_UNIFORM_BLOCK_BINDING :: GLenum
- gl_UNIFORM_BLOCK_DATA_SIZE :: GLenum
- gl_UNIFORM_BLOCK_INDEX :: GLenum
- gl_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
- gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
- gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
- gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
- gl_UNIFORM_BUFFER :: GLenum
- gl_UNIFORM_BUFFER_BINDING :: GLenum
- gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
- gl_UNIFORM_BUFFER_SIZE :: GLenum
- gl_UNIFORM_BUFFER_START :: GLenum
- gl_UNIFORM_IS_ROW_MAJOR :: GLenum
- gl_UNIFORM_MATRIX_STRIDE :: GLenum
- gl_UNIFORM_NAME_LENGTH :: GLenum
- gl_UNIFORM_OFFSET :: GLenum
- gl_UNIFORM_SIZE :: GLenum
- 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

Is the ARB_uniform_buffer_object extension supported?

gl_ARB_uniform_buffer_object :: Bool

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

gl_ACTIVE_UNIFORM_BLOCKS :: GLenum

gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum

gl_INVALID_INDEX :: GLuint

gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum

gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum

gl_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum

gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum

gl_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum

gl_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum

gl_MAX_UNIFORM_BLOCK_SIZE :: GLenum

gl_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum

gl_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum

gl_UNIFORM_ARRAY_STRIDE :: GLenum

gl_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum

gl_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum

gl_UNIFORM_BLOCK_BINDING :: GLenum

gl_UNIFORM_BLOCK_DATA_SIZE :: GLenum

gl_UNIFORM_BLOCK_INDEX :: GLenum

gl_UNIFORM_BLOCK_NAME_LENGTH :: GLenum

gl_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum

gl_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum

gl_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum

gl_UNIFORM_BUFFER :: GLenum

gl_UNIFORM_BUFFER_BINDING :: GLenum

gl_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum

gl_UNIFORM_BUFFER_SIZE :: GLenum

gl_UNIFORM_BUFFER_START :: GLenum

gl_UNIFORM_IS_ROW_MAJOR :: GLenum

gl_UNIFORM_MATRIX_STRIDE :: GLenum

gl_UNIFORM_NAME_LENGTH :: GLenum

gl_UNIFORM_OFFSET :: GLenum

gl_UNIFORM_SIZE :: GLenum

gl_UNIFORM_TYPE :: GLenum

# Functions

glBindBufferBase

Arguments

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

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

glBindBufferRange

Arguments

:: MonadIO m |
=> GLenum | `target`.
-> 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

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

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLuint | `uniformBlockIndex`.
-> GLenum | `pname`.
-> 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

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

Arguments

:: MonadIO m |
=> GLuint | `program`.
-> GLsizei | `uniformCount`.
-> Ptr GLuint | `uniformIndices` pointing to `uniformCount` elements of type `GLuint`.
-> GLenum | `pname`.
-> 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

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

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

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

Arguments

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

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