Cleanup shader code

This commit is contained in:
2023-03-14 22:05:17 +00:00
parent b7d7bc2346
commit db0d24d044
4 changed files with 29 additions and 27 deletions
+14 -9
View File
@@ -52,13 +52,15 @@ preloadRender = do
-- bindVertexArrayObject $= Just wpVAOname
wpVAOname <- mglCreate glCreateVertexArrays
glBindVertexArray wpVAOname
setupVertexAttribPointer wpVAOname wpVBOname 0 4 8 0
glVertexArrayVertexBuffer wpVAOname 0 wpVBOname 0 (fromIntegral $ floatSize * 8)
setupVertexAttribPointer wpVAOname 0 4 0
--wpColVAOname <- genObjectName
--bindVertexArrayObject $= Just wpColVAOname
wpColVAOname <- mglCreate glCreateVertexArrays
glBindVertexArray wpColVAOname
setupVertexAttribPointer wpColVAOname wpVBOname 0 4 8 0
setupVertexAttribPointer wpColVAOname wpVBOname 1 4 8 4
glVertexArrayVertexBuffer wpColVAOname 0 wpVBOname 0 (fromIntegral $ floatSize * 8)
setupVertexAttribPointer wpColVAOname 0 4 0
setupVertexAttribPointer wpColVAOname 1 4 4
let wpVAO = VAO{_vaoName = wpVAOname, _vaoAttribSizes = [4], _vaoStride = 8}
wpColVAO = VAO{_vaoName = wpColVAOname, _vaoAttribSizes = [4,4], _vaoStride = 8}
-- setup window points VBO, VAOs and shaders
@@ -73,8 +75,9 @@ preloadRender = do
--bindVertexArrayObject $= Just winColVAOname
winColVAOname <- mglCreate glCreateVertexArrays
glBindVertexArray winColVAOname
setupVertexAttribPointer winColVAOname winVBOname 0 4 8 0
setupVertexAttribPointer winColVAOname winVBOname 1 4 8 4
glVertexArrayVertexBuffer winColVAOname 0 winVBOname 0 (fromIntegral $ floatSize * 8)
setupVertexAttribPointer winColVAOname 0 4 0
setupVertexAttribPointer winColVAOname 1 4 4
let winColVAO = VAO
{_vaoName = winColVAOname, _vaoAttribSizes = [4,4], _vaoStride = 8}
-- setup shape geometry/cap VBO and two VAOs
@@ -86,7 +89,7 @@ preloadRender = do
nullPtr
GL_STREAM_DRAW
let shEBO = EBO{_eboName = shEBOname, _eboPtr = shEBOptr}
shVBO <- trueSetupVBO 8
shVBO <- setupVBO4 8
-- shPosColVAOname <- mglCreate glCreateVertexArrays
-- glBindVertexArray shPosColVAOname
-- setupVertexAttribPointer shPosColVAOname (shVBO ^. vboName) 0 3 7 0
@@ -97,7 +100,8 @@ preloadRender = do
--bindVertexArrayObject $= Just shPosVAOname
shPosVAOname <- mglCreate glCreateVertexArrays
glBindVertexArray shPosVAOname
setupVertexAttribPointer shPosVAOname (shVBO ^. vboName) 0 4 8 0
glVertexArrayVertexBuffer shPosVAOname 0 (shVBO ^. vboName) 0 (fromIntegral $ floatSize * 8)
setupVertexAttribPointer shPosVAOname 0 4 0
--bindBuffer ElementArrayBuffer $= Just shEBOname
glVertexArrayElementBuffer shPosVAOname shEBOname
let --shPosColVAO = VAO
@@ -108,7 +112,8 @@ preloadRender = do
--bindVertexArrayObject $= Just shEdgeVAOname
shEdgeVAOname <- mglCreate glCreateVertexArrays
glBindVertexArray shEdgeVAOname
setupVertexAttribPointer shEdgeVAOname (shVBO ^. vboName) 0 4 8 0
glVertexArrayVertexBuffer shEdgeVAOname 0 (shVBO ^. vboName) 0 (fromIntegral $ floatSize * 8)
setupVertexAttribPointer shEdgeVAOname 0 4 0
--setup ebo for silhouette edges
silEBOname <- mglCreate glCreateBuffers
silEBOptr <- mallocArray numDrawableElements
@@ -150,7 +155,7 @@ preloadRender = do
positionalBlankShad <- makeShader "positional/blank" [vert, frag] [3] ETriangles
-- 2D draw shaders
bslist <- makeShader "dualTwoD/basic" [vert, frag] [3, 4] ETriangles
bslista <- makeShader' "shape/basic" [vert, frag] [4, 4] ETriangles shVBO
bslista <- makeShader4 "shape/basic" [vert, frag] [4, 4] ETriangles shVBO
glVertexArrayElementBuffer (bslista ^. shadVAO . vaoName) shEBOname
aslist <- makeShader "dualTwoD/arc" [vert, frag] [3, 4, 3] ETriangles
eslist <- makeShader "dualTwoD/ellipse" [vert, geom, frag] [3, 4] ETriangles