Copyright | (c) Sven Panne 2002-2016 |
---|---|
License | BSD3 |
Maintainer | Sven Panne <svenpanne@gmail.com> |
Stability | stable |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
This module corresponds to section 2.8 (Vertex Arrays) of the OpenGL 2.1 specs.
- 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 Capability
- data ClientArrayType
- 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
- type NumInstances = GLsizei
- type BaseInstance = GLuint
- type BaseVertex = GLint
- arrayElement :: ArrayIndex -> IO ()
- drawArrays :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> IO ()
- drawArraysInstancedBaseInstance :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> NumInstances -> BaseInstance -> IO ()
- drawArraysInstanced :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> NumInstances -> IO ()
- multiDrawArrays :: PrimitiveMode -> Ptr ArrayIndex -> Ptr NumArrayIndices -> NumIndexBlocks -> IO ()
- drawElements :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> IO ()
- drawElementsInstancedBaseInstance :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> BaseInstance -> IO ()
- drawElementsInstanced :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> IO ()
- multiDrawElements :: PrimitiveMode -> Ptr NumArrayIndices -> DataType -> Ptr (Ptr a) -> NumIndexBlocks -> IO ()
- drawRangeElements :: PrimitiveMode -> (ArrayIndex, ArrayIndex) -> NumArrayIndices -> DataType -> Ptr a -> IO ()
- drawElementsBaseVertex :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> BaseVertex -> IO ()
- drawRangeElementsBaseVertex :: PrimitiveMode -> (ArrayIndex, ArrayIndex) -> NumArrayIndices -> DataType -> Ptr a -> BaseVertex -> IO ()
- drawElementsInstancedBaseVertex :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> BaseVertex -> IO ()
- drawElementsInstancedBaseVertexBaseInstance :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> BaseVertex -> BaseInstance -> IO ()
- multiDrawElementsBaseVertex :: PrimitiveMode -> Ptr NumArrayIndices -> DataType -> Ptr (Ptr a) -> NumIndexBlocks -> Ptr BaseVertex -> IO ()
- maxElementsVertices :: GettableStateVar NumArrayIndices
- maxElementsIndices :: GettableStateVar NumArrayIndices
- lockArrays :: StateVar (Maybe (ArrayIndex, NumArrayIndices))
- primitiveRestartIndex :: StateVar (Maybe ArrayIndex)
- primitiveRestartIndexNV :: StateVar (Maybe ArrayIndex)
- vertexAttribPointer :: AttribLocation -> StateVar (IntegerHandling, VertexArrayDescriptor a)
- vertexAttribArray :: AttribLocation -> StateVar Capability
Describing Data for the Arrays
type NumComponents = GLint Source
data VertexArrayDescriptor a Source
Specifying Data for the Arrays
data Capability Source
data ClientArrayType Source
data InterleavedArrays Source
interleavedArrays :: InterleavedArrays -> Stride -> Ptr a -> IO () Source
Enabling Arrays
Dereferencing and Rendering
type ArrayIndex = GLint Source
type NumArrayIndices = GLsizei Source
type NumIndexBlocks = GLsizei Source
type NumInstances = GLsizei Source
type BaseInstance = GLuint Source
type BaseVertex = GLint Source
arrayElement :: ArrayIndex -> IO () Source
drawArrays :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> IO () Source
drawArraysInstancedBaseInstance :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> NumInstances -> BaseInstance -> IO () Source
drawArraysInstanced :: PrimitiveMode -> ArrayIndex -> NumArrayIndices -> NumInstances -> IO () Source
multiDrawArrays :: PrimitiveMode -> Ptr ArrayIndex -> Ptr NumArrayIndices -> NumIndexBlocks -> IO () Source
drawElements :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> IO () Source
drawElementsInstancedBaseInstance :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> BaseInstance -> IO () Source
drawElementsInstanced :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> IO () Source
multiDrawElements :: PrimitiveMode -> Ptr NumArrayIndices -> DataType -> Ptr (Ptr a) -> NumIndexBlocks -> IO () Source
drawRangeElements :: PrimitiveMode -> (ArrayIndex, ArrayIndex) -> NumArrayIndices -> DataType -> Ptr a -> IO () Source
drawElementsBaseVertex :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> BaseVertex -> IO () Source
drawRangeElementsBaseVertex :: PrimitiveMode -> (ArrayIndex, ArrayIndex) -> NumArrayIndices -> DataType -> Ptr a -> BaseVertex -> IO () Source
drawElementsInstancedBaseVertex :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> BaseVertex -> IO () Source
drawElementsInstancedBaseVertexBaseInstance :: PrimitiveMode -> NumArrayIndices -> DataType -> Ptr a -> NumInstances -> BaseVertex -> BaseInstance -> IO () Source
multiDrawElementsBaseVertex :: PrimitiveMode -> Ptr NumArrayIndices -> DataType -> Ptr (Ptr a) -> NumIndexBlocks -> Ptr BaseVertex -> IO () Source