Commit before simplifying some shader types

This commit is contained in:
2023-03-21 13:35:13 +00:00
parent 7caf7ba987
commit e56ca3dd8d
3 changed files with 20 additions and 2 deletions
+1
View File
@@ -19,6 +19,7 @@ data RenderData = RenderData
, _lightingLineShadowShader :: FullShader , _lightingLineShadowShader :: FullShader
, _lightingCapShader :: FullShader , _lightingCapShader :: FullShader
, _lightingTextureShader :: FullShader , _lightingTextureShader :: FullShader
, _alphaDivideShader :: Shader
, _shadowEdgeShader :: FullShader , _shadowEdgeShader :: FullShader
, _shadowCapShader :: FullShader , _shadowCapShader :: FullShader
, _shadowWallShader :: FullShader , _shadowWallShader :: FullShader
+2 -2
View File
@@ -144,6 +144,7 @@ preloadRender = do
ptr ptr
0 0
screentexturevao <- setupVAOvbo' [2,2] 4 screentexturevbo screentexturevao <- setupVAOvbo' [2,2] 4 screentexturevbo
alphadivideshader <- makeShader4UsingVAO "texture2D/alphaDivide" [vert,frag] GL_TRIANGLE_STRIP screentexturevao
fsShad <- makeShaderUsingVAO "texture/simple" [vert, frag] ETriangleStrip screentexturevao fsShad <- makeShaderUsingVAO "texture/simple" [vert, frag] ETriangleStrip screentexturevao
bloomBlurShad <- makeShaderUsingVAO "texture/bloomBlur" [vert, frag] ETriangleStrip screentexturevao bloomBlurShad <- makeShaderUsingVAO "texture/bloomBlur" [vert, frag] ETriangleStrip screentexturevao
colorBlurShad <- makeShaderUsingVAO "texture/colorBlur" [vert, frag] ETriangleStrip screentexturevao colorBlurShad <- makeShaderUsingVAO "texture/colorBlur" [vert, frag] ETriangleStrip screentexturevao
@@ -170,8 +171,6 @@ preloadRender = do
(cloudshader, cloudebo) (cloudshader, cloudebo)
<- makeShaderEBO "cloud/basic" [vert, frag] cloudverxsizes (sum cloudverxsizes) <- makeShaderEBO "cloud/basic" [vert, frag] cloudverxsizes (sum cloudverxsizes)
GL_TRIANGLES cloudvbo GL_TRIANGLES cloudvbo
-- -- bind fixed vertex data
-- bufferPokedVBO (snd fsShad) 4
framebuf2 <- setupTextureFramebuffer 800 600 framebuf2 <- setupTextureFramebuffer 800 600
framebuf3 <- setupTextureFramebuffer 800 600 framebuf3 <- setupTextureFramebuffer 800 600
@@ -229,6 +228,7 @@ preloadRender = do
, _windowShader = wallBlankShad{_shadVAO = winColVAO} , _windowShader = wallBlankShad{_shadVAO = winColVAO}
-- , _textureArrayShader = textArrayShad -- , _textureArrayShader = textArrayShad
, _fullscreenShader = fsShad , _fullscreenShader = fsShad
, _alphaDivideShader = alphadivideshader
, _lightingTextureShader = lightingTextureShad , _lightingTextureShader = lightingTextureShad
, _bloomBlurShader = bloomBlurShad , _bloomBlurShader = bloomBlurShad
, _colorBlurShader = colorBlurShad , _colorBlurShader = colorBlurShad
+17
View File
@@ -4,6 +4,7 @@ module Shader.Compile (
makeShaderEBO, makeShaderEBO,
makeShader, makeShader,
makeShader4, makeShader4,
makeShader4UsingVAO,
makeByteStringShaderUsingVAO, makeByteStringShaderUsingVAO,
makeShaderSized, makeShaderSized,
makeShaderUsingVAO, makeShaderUsingVAO,
@@ -93,6 +94,22 @@ makeShader4 s shaderlist sizes strd pm vbo = do
, _shadTex' = Nothing , _shadTex' = Nothing
} }
makeShader4UsingVAO ::
-- | First part of the name of the shader
String ->
-- | shader types
[GLenum] ->
GLenum ->
VAO ->
IO Shader
makeShader4UsingVAO s shaderlist pm vao = do
prog <- makeSourcedShader s shaderlist
return $ Shader
{ _shaderUINT = prog
, _shaderVAO = vao
, _shaderPrimitive = pm
}
setupVBO :: Int -> IO VBO setupVBO :: Int -> IO VBO
setupVBO vertexsize = do setupVBO vertexsize = do
vboname <- mglCreate glCreateBuffers vboname <- mglCreate glCreateBuffers