Portability | portable |
---|---|
Stability | stable |
Maintainer | sven.panne@aedion.de |
Graphics.Rendering.OpenGL.GL.BufferObjects
Contents
Description
This module corresponds to section 2.9 (Buffer Objects) of the OpenGL 2.1 specs.
- class ObjectName a where
- genObjectNames :: Int -> IO [a]
- deleteObjectNames :: [a] -> IO ()
- isObjectName :: a -> IO Bool
- newtype BufferObject = BufferObject GLuint
- data BufferTarget
- 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
- bufferSubData :: BufferTarget -> TransferDirection -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
- data BufferAccess
- data MappingFailure
- 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
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.
Buffer Objects
newtype BufferObject
Constructors
BufferObject GLuint |
Instances
Eq BufferObject | |
Ord BufferObject | |
Show BufferObject | |
ObjectName BufferObject |
Binding Buffer Objects
data BufferTarget
Instances
Eq BufferTarget | |
Ord BufferTarget | |
Show BufferTarget |
bindBuffer :: BufferTarget -> StateVar (Maybe BufferObject)
arrayBufferBinding :: ClientArrayType -> GettableStateVar (Maybe BufferObject)
Handling Buffer Data
data BufferUsage
Constructors
StreamDraw | |
StreamRead | |
StreamCopy | |
StaticDraw | |
StaticRead | |
StaticCopy | |
DynamicDraw | |
DynamicRead | |
DynamicCopy |
Instances
Eq BufferUsage | |
Ord BufferUsage | |
Show BufferUsage |
bufferData :: BufferTarget -> StateVar (GLsizeiptr, Ptr a, BufferUsage)
data TransferDirection
Constructors
ReadFromBuffer | |
WriteToBuffer |
Instances
Eq TransferDirection | |
Ord TransferDirection | |
Show TransferDirection |
bufferSubData :: BufferTarget -> TransferDirection -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
Mapping Buffer Objects
data BufferAccess
Instances
Eq BufferAccess | |
Ord BufferAccess | |
Show BufferAccess |
data MappingFailure
Constructors
MappingFailed | |
UnmappingFailed |
Instances
Eq MappingFailure | |
Ord MappingFailure | |
Show MappingFailure |
withMappedBuffer :: BufferTarget -> BufferAccess -> (Ptr a -> IO b) -> (MappingFailure -> IO b) -> IO b
bufferMapped :: BufferTarget -> GettableStateVar Bool