Add VertexAttribute type
This commit is contained in:
+48
-37
@@ -3,43 +3,45 @@
|
|||||||
{-# LANGUAGE TemplateHaskell #-}
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
|
|
||||||
-- | Datatypes used to setup and pass data to shaders.
|
-- | Datatypes used to setup and pass data to shaders.
|
||||||
module Shader.Data (
|
module Shader.Data
|
||||||
VAO (..),
|
-- (
|
||||||
VBO (..),
|
-- VAO (..),
|
||||||
EBO (..),
|
-- VBO (..),
|
||||||
TO (..),
|
-- EBO (..),
|
||||||
FBO (..),
|
-- TO (..),
|
||||||
Shader (..),
|
-- FBO (..),
|
||||||
PrimitiveMode (..),
|
-- Shader (..),
|
||||||
-- | Lens functions
|
-- PrimitiveMode (..),
|
||||||
vaoName,
|
-- -- | Lens functions
|
||||||
shaderUINT,
|
-- vaoName,
|
||||||
shaderPrimitive,
|
-- shaderUINT,
|
||||||
shaderVAO,
|
-- shaderPrimitive,
|
||||||
textureObject,
|
-- shaderVAO,
|
||||||
vboName,
|
-- textureObject,
|
||||||
vboPtr,
|
-- vboName,
|
||||||
vboVertexSize,
|
-- vboPtr,
|
||||||
unFBO,
|
-- vboVertexSize,
|
||||||
unTO,
|
-- unFBO,
|
||||||
unPrimitiveMode,
|
-- unTO,
|
||||||
eboName,
|
-- unPrimitiveMode,
|
||||||
eboPtr,
|
-- eboName,
|
||||||
-- | Synonyms
|
-- eboPtr,
|
||||||
vert,
|
-- -- | Synonyms
|
||||||
geom,
|
-- vert,
|
||||||
frag,
|
-- geom,
|
||||||
pmPoints,
|
-- frag,
|
||||||
pmLines,
|
-- pmPoints,
|
||||||
pmLinesAdjacency,
|
-- pmLines,
|
||||||
pmLineLoop,
|
-- pmLinesAdjacency,
|
||||||
pmLineStrip,
|
-- pmLineLoop,
|
||||||
pmTriangles,
|
-- pmLineStrip,
|
||||||
pmTriangleStrip,
|
-- pmTriangles,
|
||||||
pmTriangleFan,
|
-- pmTriangleStrip,
|
||||||
pmQuads,
|
-- pmTriangleFan,
|
||||||
pmPatches,
|
-- pmQuads,
|
||||||
) where
|
-- pmPatches,
|
||||||
|
--)
|
||||||
|
where
|
||||||
|
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
import Foreign
|
import Foreign
|
||||||
@@ -63,6 +65,14 @@ newtype VAO = VAO
|
|||||||
{ _vaoName :: GLuint
|
{ _vaoName :: GLuint
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data VertexAttribute = VertexAttribute
|
||||||
|
{ _vaNumberElements :: GLint
|
||||||
|
, _vaElementType :: GLenum
|
||||||
|
, _vaToNormalize :: GLboolean
|
||||||
|
, _vaOffset :: GLuint
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
{- | Vertex buffer object: contains the reference to the object,
|
{- | Vertex buffer object: contains the reference to the object,
|
||||||
a pointer to a location with space that can be written to the buffer,
|
a pointer to a location with space that can be written to the buffer,
|
||||||
and a list of attribute pointer sizes.
|
and a list of attribute pointer sizes.
|
||||||
@@ -114,3 +124,4 @@ makeLenses ''Shader
|
|||||||
makeLenses ''FBO
|
makeLenses ''FBO
|
||||||
makeLenses ''TO
|
makeLenses ''TO
|
||||||
makeLenses ''PrimitiveMode
|
makeLenses ''PrimitiveMode
|
||||||
|
makeLenses ''VertexAttribute
|
||||||
|
|||||||
Reference in New Issue
Block a user