| OpenGL-2.2.1.1: A binding for the OpenGL graphics system | Source code | 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
Description
This module corresponds to section 2.8 (Vertex Arrays) of the OpenGL 2.1 specs.
Synopsis
type NumComponents = GLint
data DataType
= Byte
| UnsignedByte
| Short
| UnsignedShort
| Int
| UnsignedInt
| Float
| TwoBytes
| ThreeBytes
| FourBytes
| Double
| Bitmap
| UnsignedByte332
| UnsignedShort4444
| UnsignedShort5551
| UnsignedInt8888
| UnsignedInt1010102
| UnsignedByte233Rev
| UnsignedShort565
| UnsignedShort565Rev
| UnsignedShort4444Rev
| UnsignedShort1555Rev
| UnsignedInt8888Rev
| UnsignedInt2101010Rev
| UnsignedShort88
| UnsignedShort88Rev
| UnsignedInt248
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)
Describing Data for the Arrays
type NumComponents = GLint | Source
data DataType | Source
Constructors
Byte |
UnsignedByte |
Short |
UnsignedShort |
Int |
UnsignedInt |
Float |
TwoBytes |
ThreeBytes |
FourBytes |
Double |
Bitmap |
UnsignedByte332 |
UnsignedShort4444 |
UnsignedShort5551 |
UnsignedInt8888 |
UnsignedInt1010102 |
UnsignedByte233Rev |
UnsignedShort565 |
UnsignedShort565Rev |
UnsignedShort4444Rev |
UnsignedShort1555Rev |
UnsignedInt8888Rev |
UnsignedInt2101010Rev |
UnsignedShort88 |
UnsignedShort88Rev |
UnsignedInt248 |
Instances
Eq DataType
Ord DataType
Show DataType
type Stride = GLsizei | Source
data VertexArrayDescriptor a | Source
Constructors
VertexArrayDescriptor !NumComponents !DataType !Stride !(Ptr a) |
Instances
Eq (VertexArrayDescriptor a)
Ord (VertexArrayDescriptor a)
Show (VertexArrayDescriptor a)
Specifying Data for the Arrays
data ClientArrayType | Source
Constructors
VertexArray |
NormalArray |
ColorArray |
IndexArray |
TextureCoordArray |
EdgeFlagArray |
FogCoordArray |
SecondaryColorArray |
MatrixIndexArray |
Instances
Eq ClientArrayType
Ord ClientArrayType
Show ClientArrayType
arrayPointer :: ClientArrayType -> StateVar (VertexArrayDescriptor a) | Source
data InterleavedArrays | Source
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 () | Source
Enabling Arrays
clientState :: ClientArrayType -> StateVar Capability | Source
clientActiveTexture :: StateVar TextureUnit | Source
Dereferencing and Rendering
type ArrayIndex = GLint | Source
type NumArrayIndices = GLsizei | Source
type NumIndexBlocks = GLsizei | Source
arrayElement :: ArrayIndex -> IO () | Source
drawArrays :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> IO () | Source
multiDrawArrays :: PrimitiveMode -> Ptr ArrayIndex -> Ptr NumArrayIndices -> NumIndexBlocks -> IO () | Source
drawElements :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> IO () | Source
multiDrawElements :: PrimitiveMode -> Ptr NumArrayIndices -> DataType -> Ptr (Ptr a) -> NumIndexBlocks -> IO () | Source
drawRangeElements :: PrimitiveMode -> (ArrayIndex, ArrayIndex) -> NumArrayIndices -> DataType -> Ptr a -> IO () | Source
maxElementsVertices :: GettableStateVar NumArrayIndices | Source
maxElementsIndices :: GettableStateVar NumArrayIndices | Source
lockArrays :: StateVar (Maybe (ArrayIndex, NumArrayIndices)) | Source
primitiveRestartIndex :: StateVar (Maybe ArrayIndex) | Source
Produced by Haddock version 0.9