HOpenGL Libraries (OpenGL package)
Contents
Index
Graphics.Rendering.OpenGL.GL.BufferObjects
Portability
portable
Stability
provisional
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 1.5 specs.
Synopsis
class
ObjectName
a
where
genObjectNames
::
Int
->
IO
[a]
deleteObjectNames
:: [a] ->
IO
()
isObjectName
:: a ->
IO
Bool
newtype
BufferObject
=
BufferObject
{
bufferID
::
GLuint
}
data
BufferTarget
=
ArrayBuffer
|
ElementArrayBuffer
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
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]
deleteObjectNames
:: [a] ->
IO
()
isObjectName
:: a ->
IO
Bool
Instances
ObjectName
BufferObject
ObjectName
DisplayList
ObjectName
QueryObject
ObjectName
TextureObject
Buffer Objects
newtype
BufferObject
Constructors
BufferObject
bufferID
::
GLuint
Instances
ObjectName
BufferObject
Eq
BufferObject
Ord
BufferObject
Show
BufferObject
Binding Buffer Objects
data
BufferTarget
Constructors
ArrayBuffer
ElementArrayBuffer
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
Constructors
ReadOnly
WriteOnly
ReadWrite
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
bufferAccess
::
BufferTarget
->
GettableStateVar
BufferAccess
bufferMapped
::
BufferTarget
->
GettableStateVar
Bool
Produced by
Haddock
version 0.6