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
+11 -11
View File
@@ -117,13 +117,13 @@ preloadRender = do
let silEBO = EBO {_ebo = silEBOname, _eboPtr = silEBOptr}
shEdgeVAO = VAO { _vao = shEdgeVAOname, _vaoVBO = shVBO }
-- lighting shaders
wsShad <- makeShader "lighting/occlude" [vert,geom,frag] [4] EPoints
lightingOccludeShad <- makeShaderUsingVAO "lighting/occlude" [vert,geom,frag] EPoints wpVAO
>>= addUniforms ["lightPos"]
lightingCapShad
<- makeShader "lighting/cap" [vert,geom,frag] [3] ETriangles
<- makeShaderUsingVAO "lighting/cap" [vert,geom,frag] ETriangles shPosVAO
>>= addUniforms ["lightPos"]
lightingLineShadowShad
<- makeShader "lighting/lineShadow" [vert,geom,frag] [3] ELinesAdjacency
<- makeShaderUsingVAO "lighting/lineShadow" [vert,geom,frag] ELinesAdjacency shEdgeVAO
>>= addUniforms ["lightPos"]
-- 2D draw shaders
bslist <- makeShader "dualTwoD/basic" [vert,frag] [3,4] ETriangles
@@ -150,9 +150,9 @@ preloadRender = do
>>= addUniforms ["lightPos","lumRad"]
barrelShad <- makeShader "texture/barrel" [vert,geom,frag] [2,2,2,1] EPoints
-- blank wallShader
wlBlank <- makeShader "wall/blank" [vert,geom,frag] [4,4] EPoints
wallBlankShad <- makeShaderUsingVAO "wall/blank" [vert,geom,frag] EPoints wpColVAO
-- textured wallShader
wlTexture <- makeShader "wall/texture" [vert,geom,frag] [4,4] EPoints
wallTextureShad <- makeShaderUsingVAO "wall/texture" [vert,geom,frag] EPoints wpColVAO
>>= addTexture "data/texture/grayscaleDirt.png"
---- texture array shader
textArrayShad <- makeShader "texture/arrayPos" [vert,frag] [3,3] ETriangles
@@ -200,12 +200,12 @@ preloadRender = do
, _shapeShader = bslista {_shadVAO = shPosColVAO }
, _shapeEBO = shEBO
, _silhouetteEBO = silEBO
, _lightingCapShader = lightingCapShad { _shadVAO = shPosVAO }
, _lightingLineShadowShader = lightingLineShadowShad {_shadVAO = shEdgeVAO}
, _lightingOccludeShader = wsShad {_shadVAO = wpVAO}
, _wallBlankShader = wlBlank { _shadVAO = wpColVAO }
, _wallTextureShader = wlTexture { _shadVAO = wpColVAO }
, _windowShader = wlBlank { _shadVAO = winColVAO }
, _lightingCapShader = lightingCapShad
, _lightingLineShadowShader = lightingLineShadowShad
, _lightingOccludeShader = lightingOccludeShad
, _wallBlankShader = wallBlankShad
, _wallTextureShader = wallTextureShad
, _windowShader = wallBlankShad { _shadVAO = winColVAO }
, _textureArrayShader = textArrayShad
, _fullscreenShader = fsShad
, _fullLightingShader = fullLightingShad