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