Reduce rendertype down to vertex information

This commit is contained in:
2021-07-27 13:35:43 +02:00
parent d27c5e7ff4
commit ae84f44824
14 changed files with 225 additions and 189 deletions
+17
View File
@@ -6,6 +6,7 @@ module Shader.Data
( VAO (..)
, VBO (..)
, FullShader (..)
, VShader (..)
, ShaderTexture (..)
, EPrimitiveMode (..)
-- | Lens functions
@@ -19,6 +20,13 @@ module Shader.Data
, shaderTexture
, shaderCustomUnis
, vshaderProgram
, vshaderVAO
, vshaderDrawPrimitive
, vshaderTexture
, vshaderCustomUnis
, vshaderPokeTest
-- , textureObject
) where
import Picture.Data
@@ -42,6 +50,14 @@ data VBO = VBO
, _vboPointer :: Ptr Float
, _vboAttribSizes :: [Int] -- ^ It is not clear to me if this is necessary to store or not
}
data VShader = VShader
{ _vshaderProgram :: Program
, _vshaderVAO :: VAO
, _vshaderDrawPrimitive :: EPrimitiveMode
, _vshaderTexture :: Maybe ShaderTexture
, _vshaderCustomUnis :: [UniformLocation]
, _vshaderPokeTest :: VertexType -> Bool
}
{- | Datatype containing the necessary information for a single shader. -}
data FullShader = FullShader
@@ -72,3 +88,4 @@ data EPrimitiveMode
makeLenses ''VAO
makeLenses ''FullShader
makeLenses ''VShader