Portability | portable |
---|---|
Stability | stable |
Maintainer | sven.panne@aedion.de |
This module corresponds to section 2.9 (Buffer Objects) of the OpenGL 2.1 specs.
- class ObjectName a where
- genObjectNames :: Int -> GL [a]
- deleteObjectNames :: [a] -> GL ()
- isObjectName :: a -> GL 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 -> GL ()
- data BufferAccess
- data MappingFailure
- withMappedBuffer :: BufferTarget -> BufferAccess -> (Ptr a -> GL b) -> (MappingFailure -> GL b) -> GL b
- bufferAccess :: BufferTarget -> GettableStateVar BufferAccess
- bufferMapped :: BufferTarget -> GettableStateVar Bool
- mapBuffer :: BufferTarget -> BufferAccess -> GL (Ptr a)
- unmapBuffer :: BufferTarget -> GL Bool
Object Names
class ObjectName a whereSource
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.
genObjectNames :: Int -> GL [a]Source
deleteObjectNames :: [a] -> GL ()Source
isObjectName :: a -> GL BoolSource
Buffer Objects
newtype BufferObject Source
Binding Buffer Objects
data BufferTarget Source
Handling Buffer Data
data BufferUsage Source
bufferData :: BufferTarget -> StateVar (GLsizeiptr, Ptr a, BufferUsage)Source
data TransferDirection Source
bufferSubData :: BufferTarget -> TransferDirection -> GLintptr -> GLsizeiptr -> Ptr a -> GL ()Source
Mapping Buffer Objects
data BufferAccess Source
data MappingFailure Source
withMappedBuffer :: BufferTarget -> BufferAccess -> (Ptr a -> GL b) -> (MappingFailure -> GL b) -> GL bSource
mapBuffer :: BufferTarget -> BufferAccess -> GL (Ptr a)Source
unmapBuffer :: BufferTarget -> GL BoolSource