Draw walls using vertex pulling

This commit is contained in:
2025-11-10 19:05:54 +00:00
parent 1546caa6a3
commit 1f01147821
8 changed files with 68 additions and 8 deletions
+13 -4
View File
@@ -113,6 +113,9 @@ doDrawing' win pdata u = do
glNamedBufferSubData (pdata ^. winSSBO) 0
(fromIntegral $ nWins * sizeOf (0::Float) * 8)
(pdata ^. vboWindows . vboPtr)
glNamedBufferSubData (pdata ^. wallSSBO) 0
(fromIntegral $ trueNWalls * sizeOf (0::Float) * 8)
(pdata ^. wallVBO . vboPtr)
setViewport _gr_world_res cfig
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
glDepthMask GL_TRUE
@@ -162,12 +165,18 @@ doDrawing' win pdata u = do
--draw walls onto base buffer
glEnable GL_CULL_FACE
glCullFace GL_BACK
glUseProgram (pdata ^. wallShader . shaderUINT)
glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName
-- glUseProgram (pdata ^. wallShader . shaderUINT)
-- glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName
-- glDrawArrays
-- (_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive)
-- 0
-- (fromIntegral trueNWalls)
glUseProgram (pdata ^. pullWallShader . shaderUINT)
glBindVertexArray $ pdata ^. dummyVAO . vaoName
glDrawArrays
(_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive)
GL_TRIANGLES
0
(fromIntegral trueNWalls)
(fromIntegral trueNWalls * 6)
--draw object shapes onto base buffer
let fs = _shapeShader pdata
glUseProgram (_shaderUINT fs)