Cleanup render preload somewhat
This commit is contained in:
+26
-33
@@ -108,39 +108,39 @@ doDrawing' win pdata u = do
|
||||
setViewportSize (round winx `div` resFact) (round winy `div` resFact)
|
||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase ._1 . unFBO)
|
||||
glDepthMask GL_TRUE
|
||||
-- the following clear may not be necessary
|
||||
withArray [0, 0, 0, 1] $ \ptr ->
|
||||
glClearNamedFramebufferfv
|
||||
(pdata ^. fboBase . _1 . unFBO)
|
||||
GL_COLOR
|
||||
0
|
||||
ptr
|
||||
glDisable GL_BLEND
|
||||
glDepthFunc GL_LESS
|
||||
with 1 $ \ptr ->
|
||||
glClearNamedFramebufferfv
|
||||
(pdata ^. fboBase . _1 . unFBO)
|
||||
GL_DEPTH
|
||||
0
|
||||
ptr
|
||||
glDepthFunc GL_LESS
|
||||
-- draw wall occlusions from the camera's point of view
|
||||
glUseProgram (pdata ^. lightingWallShadShader . shaderUINT)
|
||||
glProgramUniform3f
|
||||
(pdata ^. lightingWallShadShader . shaderUINT)
|
||||
0
|
||||
vfx
|
||||
vfy
|
||||
20
|
||||
glProgramUniform1f
|
||||
(pdata ^. lightingWallShadShader . shaderUINT)
|
||||
1
|
||||
1000
|
||||
glBindVertexArray $ pdata ^. lightingWallShadShader . shaderVAO . vaoName
|
||||
unless (debugOn Remove_LOS cfig) $
|
||||
unless (debugOn Remove_LOS cfig) $ do
|
||||
glUseProgram (pdata ^. lightingWallShadShader . shaderUINT)
|
||||
glProgramUniform3f
|
||||
(pdata ^. lightingWallShadShader . shaderUINT)
|
||||
0
|
||||
vfx
|
||||
vfy
|
||||
20
|
||||
glProgramUniform1f
|
||||
(pdata ^. lightingWallShadShader . shaderUINT)
|
||||
1
|
||||
1000
|
||||
glBindVertexArray $ pdata ^. lightingWallShadShader . shaderVAO . vaoName
|
||||
glDrawArrays
|
||||
(_unPrimitiveMode $ pdata ^. lightingWallShadShader . shaderPrimitive)
|
||||
0
|
||||
(fromIntegral trueNWalls)
|
||||
-- clear normals
|
||||
-- clear color and normals
|
||||
withArray [0, 0, 0, 1] $ \ptr ->
|
||||
glClearNamedFramebufferfv
|
||||
(pdata ^. fboBase . _1 . unFBO)
|
||||
GL_COLOR
|
||||
0
|
||||
ptr
|
||||
withArray [0, 0, 0, 0] $ \ptr ->
|
||||
glClearNamedFramebufferfv
|
||||
(pdata ^. fboBase . _1 . unFBO)
|
||||
@@ -148,34 +148,26 @@ doDrawing' win pdata u = do
|
||||
2
|
||||
ptr
|
||||
--draw walls onto base buffer
|
||||
glDisable GL_BLEND
|
||||
-- maybe cull faces? maybe do this before?
|
||||
--glEnable GL_CULL_FACE
|
||||
--glCullFace GL_BACK
|
||||
glEnable GL_CULL_FACE
|
||||
glCullFace GL_BACK
|
||||
glUseProgram (pdata ^. wallShader . shaderUINT)
|
||||
glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName
|
||||
glDrawArrays
|
||||
(_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive)
|
||||
0
|
||||
(fromIntegral trueNWalls)
|
||||
--glDisable GL_CULL_FACE
|
||||
-- if cfig ^. graphics_wall_textured
|
||||
-- then renderTextureWalls pdata nWalls
|
||||
-- else renderBlankWalls pdata nWalls
|
||||
--draw object pictures onto base buffer
|
||||
--draw object pictures onto base buffer (are there any?!)
|
||||
renderLayer BottomLayer shadV layerCounts
|
||||
--draw object shapes onto base buffer
|
||||
let fs = _shapeShader pdata
|
||||
glUseProgram (_shaderUINT fs)
|
||||
glBindVertexArray $ fs ^. shaderVAO . vaoName
|
||||
-- glEnable GL_CULL_FACE
|
||||
-- glCullFace GL_BACK
|
||||
glDrawElements
|
||||
(_unPrimitiveMode $ _shaderPrimitive fs)
|
||||
(fromIntegral nIndices)
|
||||
GL_UNSIGNED_SHORT
|
||||
nullPtr
|
||||
glDisable GL_CULL_FACE
|
||||
--draw floor onto base buffer
|
||||
glUseProgram (pdata ^. floorShader . shaderUINT)
|
||||
glBindVertexArray $ pdata ^. floorShader . shaderVAO . vaoName
|
||||
@@ -183,6 +175,7 @@ doDrawing' win pdata u = do
|
||||
(_unPrimitiveMode $ pdata ^. floorShader . shaderPrimitive)
|
||||
0
|
||||
(fromIntegral nFls)
|
||||
glDisable GL_CULL_FACE
|
||||
glEnable GL_BLEND
|
||||
--draw lightmap into its own buffer
|
||||
createLightMap
|
||||
|
||||
Reference in New Issue
Block a user