Cmoplete transition to vertex attributes for shader compilation

This commit is contained in:
2023-04-13 00:48:14 +01:00
parent f104b24e90
commit 5d4234a8f4
2 changed files with 10 additions and 10 deletions
+6 -6
View File
@@ -110,11 +110,11 @@ preloadRender = do
(shadowlightshader ^. shaderVAO) (shadowlightshader ^. shaderVAO)
putStrLn "Setup 2D shaders" putStrLn "Setup 2D shaders"
bslist <- makeShaderVBO "dualTwoD/basic" [vert, frag] [3, 4] pmTriangles bslist <- makeShaderVBO "dualTwoD/basic" [vert, frag] (toFloatVAs [3, 4]) pmTriangles
aslist <- makeShaderVBO "dualTwoD/arc" [vert, frag] [3, 4, 3] pmTriangles aslist <- makeShaderVBO "dualTwoD/arc" [vert, frag] (toFloatVAs [3, 4, 3]) pmTriangles
eslist <- makeShaderVBO "dualTwoD/ellipse" [vert, geom, frag] [3, 4] pmTriangles eslist <- makeShaderVBO "dualTwoD/ellipse" [vert, geom, frag] (toFloatVAs [3, 4]) pmTriangles
cslist <- cslist <-
makeShaderVBO "picture/charArray" [vert, frag] [3, 4, 4] pmTriangles makeShaderVBO "picture/charArray" [vert, frag] (toFloatVAs [3, 4, 4]) pmTriangles
-- initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_NEAREST_MIPMAP_LINEAR GL_LINEAR -- initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_NEAREST_MIPMAP_LINEAR GL_LINEAR
initTexture2DArray 50 "data/texture/charMapVert16Block.png" 2 16 32 95 GL_NEAREST GL_NEAREST initTexture2DArray 50 "data/texture/charMapVert16Block.png" 2 16 32 95 GL_NEAREST GL_NEAREST
--initTexture2DArray 50 "data/texture/charMapVert8Block.png" 2 8 16 95 GL_NEAREST GL_NEAREST --initTexture2DArray 50 "data/texture/charMapVert8Block.png" 2 8 16 95 GL_NEAREST GL_NEAREST
@@ -130,7 +130,7 @@ preloadRender = do
grayscaleShad <- makeShaderUsingVAO "texture/grayscale" [vert, frag] pmTriangleStrip screentexturevao grayscaleShad <- makeShaderUsingVAO "texture/grayscale" [vert, frag] pmTriangleStrip screentexturevao
lightingTextureShad <- lightingTextureShad <-
makeShaderUsingVAO "lighting/texture" [vert, frag] pmTriangleStrip screentexturevao makeShaderUsingVAO "lighting/texture" [vert, frag] pmTriangleStrip screentexturevao
barrelShad <- makeShaderVBO "texture/barrel" [vert, geom, frag] [2, 2, 2, 1] pmPoints barrelShad <- makeShaderVBO "texture/barrel" [vert, geom, frag] (toFloatVAs [2, 2, 2, 1]) pmPoints
-- blank wallShader -- blank wallShader
putStrLn "Setup floor VBO, shader" putStrLn "Setup floor VBO, shader"
let floorverxstrd = 8 let floorverxstrd = 8
@@ -143,7 +143,7 @@ preloadRender = do
let cloudverxsizes = [4, 4, 4, 4] let cloudverxsizes = [4, 4, 4, 4]
cloudvbo <- setupVBO (floatSize * sum cloudverxsizes) cloudvbo <- setupVBO (floatSize * sum cloudverxsizes)
(cloudshader, cloudebo) <- (cloudshader, cloudebo) <-
makeShaderEBO "cloud/basic" [vert, frag] cloudverxsizes pmTriangles cloudvbo makeShaderEBO "cloud/basic" [vert, frag] (toFloatVAs cloudverxsizes) pmTriangles cloudvbo
framebuf2 <- newTextureFramebuffer framebuf2 <- newTextureFramebuffer
framebuf3 <- newTextureFramebuffer framebuf3 <- newTextureFramebuffer
+4 -4
View File
@@ -41,12 +41,12 @@ makeShaderVBO ::
-- | shader types -- | shader types
[GLenum] -> [GLenum] ->
-- | The input vertex sizes -- | The input vertex sizes
[Int] -> [VertexAttribute] ->
PrimitiveMode -> PrimitiveMode ->
IO (Shader, VBO) IO (Shader, VBO)
makeShaderVBO s shaderlist sizes pm = do makeShaderVBO s shaderlist sizes pm = do
prog <- makeSourcedShader s shaderlist prog <- makeSourcedShader s shaderlist
(vao, vbo) <- setupVBOVAO (toFloatVAs sizes) (vao, vbo) <- setupVBOVAO (sizes)
return return
( Shader ( Shader
{ _shaderUINT = prog { _shaderUINT = prog
@@ -62,12 +62,12 @@ makeShaderEBO ::
-- | shader types -- | shader types
[GLenum] -> [GLenum] ->
-- | The input vertex sizes -- | The input vertex sizes
[Int] -> [VertexAttribute] ->
PrimitiveMode -> PrimitiveMode ->
VBO -> VBO ->
IO (Shader, EBO) IO (Shader, EBO)
makeShaderEBO s shaderlist sizes pm vbo = do makeShaderEBO s shaderlist sizes pm vbo = do
shad <- makeShaderUsingVBO s shaderlist (toFloatVAs sizes) pm vbo shad <- makeShaderUsingVBO s shaderlist sizes pm vbo
ebo <- setupEBO (shad ^. shaderVAO) ebo <- setupEBO (shad ^. shaderVAO)
glVertexArrayElementBuffer (shad ^. shaderVAO . vaoName) (ebo ^. eboName) glVertexArrayElementBuffer (shad ^. shaderVAO . vaoName) (ebo ^. eboName)
return return