| OpenGL-2.2.1.1: A binding for the OpenGL graphics system | Source code | Contents | Index
Graphics.Rendering.OpenGL.GL.BufferObjects |
Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de
Contents
Object Names Buffer Objects Binding Buffer Objects Handling Buffer Data Mapping Buffer Objects
Description
This module corresponds to section 2.9 (Buffer Objects) of the OpenGL 2.1 specs.
Synopsis
class ObjectName a where
genObjectNames :: Int -> IO [a]
deleteObjectNames :: [a] -> IO ()
isObjectName :: a -> IO Bool
newtype BufferObject = BufferObject GLuint
data BufferTarget
= ArrayBuffer
| ElementArrayBuffer
| PixelPackBuffer
| PixelUnpackBuffer
bindBuffer :: BufferTarget -> StateVar (Maybe BufferObject)
arrayBufferBinding :: ClientArrayType -> GettableStateVar (Maybe BufferObject)
data BufferUsage
= StreamDraw
| StreamRead
| StreamCopy
| StaticDraw
| StaticRead
| StaticCopy
| DynamicDraw
| DynamicRead
| DynamicCopy
bufferData :: BufferTarget -> StateVar (GLsizeiptr, Ptr a, BufferUsage)
data TransferDirection
= ReadFromBuffer
| WriteToBuffer
bufferSubData :: BufferTarget -> TransferDirection -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
data BufferAccess
= ReadOnly
| WriteOnly
| ReadWrite
data MappingFailure
= MappingFailed
| UnmappingFailed
withMappedBuffer :: BufferTarget -> BufferAccess -> (Ptr a -> IO b) -> (MappingFailure -> IO b) -> IO b
bufferAccess :: BufferTarget -> GettableStateVar BufferAccess
bufferMapped :: BufferTarget -> GettableStateVar Bool
Object Names
class ObjectName a where | Source
An `ObjectName` corresponds to the general OpenGL notion of an explicitly handled object name, e.g. a display list name, a texture object name, a buffer object name, etc.
Methods
genObjectNames :: Int -> IO [a] | Source
deleteObjectNames :: [a] -> IO () | Source
isObjectName :: a -> IO Bool | Source
Instances
ObjectName BufferObject
ObjectName DisplayList
ObjectName FragmentShader
ObjectName Program
ObjectName QueryObject
ObjectName TextureObject
ObjectName VertexShader
Buffer Objects
newtype BufferObject | Source
Constructors
BufferObject GLuint |
Instances
Eq BufferObject
ObjectName BufferObject
Ord BufferObject
Show BufferObject
Binding Buffer Objects
data BufferTarget | Source
Constructors
ArrayBuffer |
ElementArrayBuffer |
PixelPackBuffer |
PixelUnpackBuffer |
Instances
Eq BufferTarget
Ord BufferTarget
Show BufferTarget
bindBuffer :: BufferTarget -> StateVar (Maybe BufferObject) | Source
arrayBufferBinding :: ClientArrayType -> GettableStateVar (Maybe BufferObject) | Source
Handling Buffer Data
data BufferUsage | Source
Constructors
StreamDraw |
StreamRead |
StreamCopy |
StaticDraw |
StaticRead |
StaticCopy |
DynamicDraw |
DynamicRead |
DynamicCopy |
Instances
Eq BufferUsage
Ord BufferUsage
Show BufferUsage
bufferData :: BufferTarget -> StateVar (GLsizeiptr, Ptr a, BufferUsage) | Source
data TransferDirection | Source
Constructors
ReadFromBuffer |
WriteToBuffer |
Instances
Eq TransferDirection
Ord TransferDirection
Show TransferDirection
bufferSubData :: BufferTarget -> TransferDirection -> GLintptr -> GLsizeiptr -> Ptr a -> IO () | Source
Mapping Buffer Objects
data BufferAccess | Source
Constructors
ReadOnly |
WriteOnly |
ReadWrite |
Instances
Eq BufferAccess
Ord BufferAccess
Show BufferAccess
data MappingFailure | Source
Constructors
MappingFailed |
UnmappingFailed |
Instances
Eq MappingFailure
Ord MappingFailure
Show MappingFailure
withMappedBuffer :: BufferTarget -> BufferAccess -> (Ptr a -> IO b) -> (MappingFailure -> IO b) -> IO b | Source
bufferAccess :: BufferTarget -> GettableStateVar BufferAccess | Source
bufferMapped :: BufferTarget -> GettableStateVar Bool | Source
Produced by Haddock version 0.9