This commit is contained in:
2023-03-09 09:55:57 +00:00
parent 2b118777b5
commit 18fa216dff
2 changed files with 2 additions and 26 deletions
+1 -5
View File
@@ -1,6 +1,5 @@
module Shader module Shader
( freeShaderPointers ( freeShaderPointers'
, freeShaderPointers'
, drawShaderLay , drawShaderLay
, shadVBOptr , shadVBOptr
, shadVBOptr' , shadVBOptr'
@@ -57,9 +56,6 @@ drawShader fs i = do
0 0
(fromIntegral i) (fromIntegral i)
freeShaderPointers :: FullShader -> IO ()
freeShaderPointers = free . _vboPtr . _vaoVBO . _shadVAO
freeShaderPointers' :: FullShader' -> IO () freeShaderPointers' :: FullShader' -> IO ()
freeShaderPointers' = free . _vboPtr . _vaoVBO . _shadVAO' freeShaderPointers' = free . _vboPtr . _vaoVBO . _shadVAO'
+1 -21
View File
@@ -5,18 +5,13 @@ module Shader.Data
( VAO (..) ( VAO (..)
, VBO (..) , VBO (..)
, EBO (..) , EBO (..)
, FullShader (..) -- , FullShader (..)
, FullShader' (..) , FullShader' (..)
, ShaderTexture (..) , ShaderTexture (..)
, EPrimitiveMode (..) , EPrimitiveMode (..)
-- | Lens functions -- | Lens functions
, vaoName , vaoName
, vaoVBO , vaoVBO
, shadProg
, shadVAO
, shadPrim
, shadTex
, shadUnis
, vbo , vbo
, vboPtr , vboPtr
, vboAttribSizes , vboAttribSizes
@@ -30,9 +25,6 @@ module Shader.Data
, shadTex' , shadTex'
, shadUnis' , shadUnis'
-- | Synonyms -- | Synonyms
, vert
, geom
, frag
, vert' , vert'
, geom' , geom'
, frag' , frag'
@@ -43,13 +35,6 @@ import Graphics.GL.Core43
import Foreign import Foreign
import Control.Lens import Control.Lens
{- | Datatype containing the necessary information for a single shader. -} {- | Datatype containing the necessary information for a single shader. -}
data FullShader = FullShader
{ _shadProg :: Program
, _shadVAO :: VAO
, _shadPrim :: EPrimitiveMode
, _shadTex :: Maybe ShaderTexture
, _shadUnis :: Vector UniformLocation
}
data FullShader' = FullShader' data FullShader' = FullShader'
{ _shadProg' :: GLuint -- should be shaderID { _shadProg' :: GLuint -- should be shaderID
, _shadVAO' :: VAO , _shadVAO' :: VAO
@@ -96,16 +81,11 @@ data EPrimitiveMode
| EPolygon | EPolygon
| EPatches | EPatches
-- | Short synonyms for shader types -- | Short synonyms for shader types
vert, geom, frag :: ShaderType
vert = VertexShader
geom = GeometryShader
frag = FragmentShader
vert', geom', frag' :: GLenum vert', geom', frag' :: GLenum
vert' = GL_VERTEX_SHADER vert' = GL_VERTEX_SHADER
geom' = GL_GEOMETRY_SHADER geom' = GL_GEOMETRY_SHADER
frag' = GL_FRAGMENT_SHADER frag' = GL_FRAGMENT_SHADER
makeLenses ''VAO makeLenses ''VAO
makeLenses ''VBO makeLenses ''VBO
makeLenses ''FullShader
makeLenses ''FullShader' makeLenses ''FullShader'
makeLenses ''EBO makeLenses ''EBO