| OpenGL-2.2.3.0: A binding for the OpenGL graphics system | Contents | Index
Graphics.Rendering.OpenGL.GL.VertexArrays |
Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de
Contents
Describing Data for the Arrays Specifying Data for the Arrays Enabling Arrays Dereferencing and Rendering Generic Vertex Attribute Arrays
Description
This module corresponds to section 2.8 (Vertex Arrays) of the OpenGL 2.1 specs.
Synopsis
type NumComponents = GLint
data DataType
= UnsignedByte
| Byte
| UnsignedShort
| Short
| UnsignedInt
| Int
| HalfFloat
| Float
| UnsignedByte332
| UnsignedByte233Rev
| UnsignedShort565
| UnsignedShort565Rev
| UnsignedShort4444
| UnsignedShort4444Rev
| UnsignedShort5551
| UnsignedShort1555Rev
| UnsignedInt8888
| UnsignedInt8888Rev
| UnsignedInt1010102
| UnsignedInt2101010Rev
| UnsignedInt248
| UnsignedInt10f11f11fRev
| UnsignedInt5999Rev
| Float32UnsignedInt248Rev
| Bitmap
| UnsignedShort88
| UnsignedShort88Rev
| Double
| TwoBytes
| ThreeBytes
| FourBytes
type Stride = GLsizei
data VertexArrayDescriptor a = VertexArrayDescriptor !NumComponents !DataType !Stride !(Ptr a)
data ClientArrayType
= VertexArray
| NormalArray
| ColorArray
| IndexArray
| TextureCoordArray
| EdgeFlagArray
| FogCoordArray
| SecondaryColorArray
| MatrixIndexArray
arrayPointer :: ClientArrayType -> StateVar (VertexArrayDescriptor a)
data InterleavedArrays
= V2f
| V3f
| C4ubV2f
| C4ubV3f
| C3fV3f
| N3fV3f
| C4fN3fV3f
| T2fV3f
| T4fV4f
| T2fC4ubV3f
| T2fC3fV3f
| T2fN3fV3f
| T2fC4fN3fV3f
| T4fC4fN3fV4f
interleavedArrays :: InterleavedArrays -> Stride -> Ptr a -> IO ()
clientState :: ClientArrayType -> StateVar Capability
clientActiveTexture :: StateVar TextureUnit
type ArrayIndex = GLint
type NumArrayIndices = GLsizei
type NumIndexBlocks = GLsizei
arrayElement :: ArrayIndex -> IO ()
drawArrays :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> IO ()
multiDrawArrays :: PrimitiveMode -> Ptr ArrayIndex -> Ptr NumArrayIndices -> NumIndexBlocks -> IO ()
drawElements :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> IO ()
multiDrawElements :: PrimitiveMode -> Ptr NumArrayIndices -> DataType -> Ptr (Ptr a) -> NumIndexBlocks -> IO ()
drawRangeElements :: PrimitiveMode -> (ArrayIndex, ArrayIndex) -> NumArrayIndices -> DataType -> Ptr a -> IO ()
maxElementsVertices :: GettableStateVar NumArrayIndices
maxElementsIndices :: GettableStateVar NumArrayIndices
lockArrays :: StateVar (Maybe (ArrayIndex, NumArrayIndices))
primitiveRestartIndex :: StateVar (Maybe ArrayIndex)
vertexAttribPointer :: AttribLocation -> StateVar (IntegerHandling, VertexArrayDescriptor a)
vertexAttribArray :: AttribLocation -> StateVar Capability
Describing Data for the Arrays
type NumComponents = GLint
data DataType
Constructors
UnsignedByte |
Byte |
UnsignedShort |
Short |
UnsignedInt |
Int |
HalfFloat |
Float |
UnsignedByte332 |
UnsignedByte233Rev |
UnsignedShort565 |
UnsignedShort565Rev |
UnsignedShort4444 |
UnsignedShort4444Rev |
UnsignedShort5551 |
UnsignedShort1555Rev |
UnsignedInt8888 |
UnsignedInt8888Rev |
UnsignedInt1010102 |
UnsignedInt2101010Rev |
UnsignedInt248 |
UnsignedInt10f11f11fRev |
UnsignedInt5999Rev |
Float32UnsignedInt248Rev |
Bitmap |
UnsignedShort88 |
UnsignedShort88Rev |
Double |
TwoBytes |
ThreeBytes |
FourBytes |
Instances
Eq DataType |
Ord DataType |
Show DataType |
type Stride = GLsizei
data VertexArrayDescriptor a
Constructors
VertexArrayDescriptor !NumComponents !DataType !Stride !(Ptr a) |
Instances
Eq (VertexArrayDescriptor a) |
Ord (VertexArrayDescriptor a) |
Show (VertexArrayDescriptor a) |
Specifying Data for the Arrays
data ClientArrayType
Constructors
VertexArray |
NormalArray |
ColorArray |
IndexArray |
TextureCoordArray |
EdgeFlagArray |
FogCoordArray |
SecondaryColorArray |
MatrixIndexArray |
Instances
Eq ClientArrayType |
Ord ClientArrayType |
Show ClientArrayType |
arrayPointer :: ClientArrayType -> StateVar (VertexArrayDescriptor a)
data InterleavedArrays
Constructors
V2f |
V3f |
C4ubV2f |
C4ubV3f |
C3fV3f |
N3fV3f |
C4fN3fV3f |
T2fV3f |
T4fV4f |
T2fC4ubV3f |
T2fC3fV3f |
T2fN3fV3f |
T2fC4fN3fV3f |
T4fC4fN3fV4f |
Instances
Eq InterleavedArrays |
Ord InterleavedArrays |
Show InterleavedArrays |
interleavedArrays :: InterleavedArrays -> Stride -> Ptr a -> IO ()
Enabling Arrays
clientState :: ClientArrayType -> StateVar Capability
clientActiveTexture :: StateVar TextureUnit
Dereferencing and Rendering
type ArrayIndex = GLint
type NumArrayIndices = GLsizei
type NumIndexBlocks = GLsizei
arrayElement :: ArrayIndex -> IO ()
drawArrays :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> IO ()
multiDrawArrays :: PrimitiveMode -> Ptr ArrayIndex -> Ptr NumArrayIndices -> NumIndexBlocks -> IO ()
drawElements :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> IO ()
multiDrawElements :: PrimitiveMode -> Ptr NumArrayIndices -> DataType -> Ptr (Ptr a) -> NumIndexBlocks -> IO ()
drawRangeElements :: PrimitiveMode -> (ArrayIndex, ArrayIndex) -> NumArrayIndices -> DataType -> Ptr a -> IO ()
maxElementsVertices :: GettableStateVar NumArrayIndices
maxElementsIndices :: GettableStateVar NumArrayIndices
lockArrays :: StateVar (Maybe (ArrayIndex, NumArrayIndices))
primitiveRestartIndex :: StateVar (Maybe ArrayIndex)
Generic Vertex Attribute Arrays
vertexAttribPointer :: AttribLocation -> StateVar (IntegerHandling, VertexArrayDescriptor a)
vertexAttribArray :: AttribLocation -> StateVar Capability
Produced by Haddock version 2.7.2