HOpenGL Libraries (OpenGL package)ContentsIndex
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.4 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
vertexPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
normalPointer :: StateVar (DataType, Stride, Ptr a)
colorPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
secondaryColorPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
indexPointer :: StateVar (DataType, Stride, Ptr a)
fogCoordPointer :: StateVar (DataType, Stride, Ptr a)
texCoordPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
edgeFlagPointer :: StateVar (Stride, Ptr a)
data InterleavedArrays
= V2f
| V3f
| C4ubV2f
| C4ubV3f
| C3fV3f
| N3fV3f
| C4fN3fV3f
| T2fV3f
| T4fV4f
| T2fC4ubV3f
| T2fC3fV3f
| T2fN3fV3f
| T2fC4fN3fV3f
| T4fC4fN3fV4f
interleavedArrays :: InterleavedArrays -> Stride -> Ptr a -> IO ()
data ClientArrayType
= VertexArray
| NormalArray
| ColorArray
| IndexArray
| TextureCoordArray
| EdgeFlagArray
| FogCoordArray
| SecondaryColorArray
| MatrixIndexArray
clientState :: ClientArrayType -> StateVar Capability
clientActiveTexture :: StateVar TextureUnit
arrayElement :: GLint -> IO ()
drawArrays :: PrimitiveMode -> GLint -> GLsizei -> IO ()
multiDrawArrays :: PrimitiveMode -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
drawElements :: PrimitiveMode -> GLsizei -> DataType -> Ptr a -> IO ()
multiDrawElements :: PrimitiveMode -> Ptr GLsizei -> DataType -> Ptr (Ptr a) -> GLsizei -> IO ()
drawRangeElements :: PrimitiveMode -> GLuint -> GLuint -> GLsizei -> DataType -> Ptr a -> IO ()
maxElementsVertices :: GettableStateVar GLsizei
maxElementsIndices :: GettableStateVar GLsizei
lockArrays :: StateVar (Maybe (GLint, GLsizei))
primitiveRestartIndex :: StateVar (Maybe GLuint)
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
Specifying Data for the Arrays
vertexPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
normalPointer :: StateVar (DataType, Stride, Ptr a)
colorPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
secondaryColorPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
indexPointer :: StateVar (DataType, Stride, Ptr a)
fogCoordPointer :: StateVar (DataType, Stride, Ptr a)
texCoordPointer :: StateVar (NumComponents, DataType, Stride, Ptr a)
edgeFlagPointer :: StateVar (Stride, Ptr 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
data ClientArrayType
Constructors
VertexArray
NormalArray
ColorArray
IndexArray
TextureCoordArray
EdgeFlagArray
FogCoordArray
SecondaryColorArray
MatrixIndexArray
Instances
Eq ClientArrayType
Ord ClientArrayType
Show ClientArrayType
clientState :: ClientArrayType -> StateVar Capability
clientActiveTexture :: StateVar TextureUnit
Dereferencing and Rendering
arrayElement :: GLint -> IO ()
drawArrays :: PrimitiveMode -> GLint -> GLsizei -> IO ()
multiDrawArrays :: PrimitiveMode -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
drawElements :: PrimitiveMode -> GLsizei -> DataType -> Ptr a -> IO ()
multiDrawElements :: PrimitiveMode -> Ptr GLsizei -> DataType -> Ptr (Ptr a) -> GLsizei -> IO ()
drawRangeElements :: PrimitiveMode -> GLuint -> GLuint -> GLsizei -> DataType -> Ptr a -> IO ()
maxElementsVertices :: GettableStateVar GLsizei
maxElementsIndices :: GettableStateVar GLsizei
lockArrays :: StateVar (Maybe (GLint, GLsizei))
primitiveRestartIndex :: StateVar (Maybe GLuint)
Produced by Haddock version 0.6