Draw walls using vertex pulling
This commit is contained in:
+13
-4
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user