Refactor shader loading

This commit is contained in:
2021-09-22 11:22:23 +01:00
parent 952ec1c579
commit a4fbe6126c
5 changed files with 133 additions and 78 deletions
+18
View File
@@ -4,6 +4,7 @@ module Shader.Compile
, makeByteStringShaderUsingVAO
, makeShaderSized
, makeShaderUsingShaderVAO
, makeShaderUsingVAO
, makeSourcedShader
, setupVAO
, setupVertexAttribPointer
@@ -67,6 +68,23 @@ makeByteStringShaderUsingVAO s shaderlist pm fs = do
, _shadUnis = []
}
-- | Takes the VAO from elsewhere
makeShaderUsingVAO
:: String -- ^ First part of the name of the shader
-> [ShaderType] -- ^ Filetype extensions
-> EPrimitiveMode
-> VAO
-> IO FullShader
makeShaderUsingVAO s shaderlist pm theVAO = do
prog <- makeSourcedShader s shaderlist
return $ FullShader
{ _shadProg = prog
, _shadVAO = theVAO
, _shadPrim = pm
, _shadTex = Nothing
, _shadUnis = []
}
-- | Takes the VAO from another shader
makeShaderUsingShaderVAO
:: String -- ^ First part of the name of the shader