Graphics.Rendering.OpenGL.GL.VertexArrays

| HOpenGL Libraries (OpenGL package) | Contents | Index
Graphics.Rendering.OpenGL.GL.VertexArrays |
Portability | portable
Stability | provisional
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 1.5 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
data DataType
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
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)
Produced by Haddock version 0.7