Cleanup, overpower bloom
This commit is contained in:
+5
-14
@@ -119,7 +119,6 @@ doDrawing' win pdata u = do
|
||||
glStencilFunc GL_NOTEQUAL 128 255
|
||||
glStencilOp GL_KEEP GL_KEEP GL_REPLACE
|
||||
glEnable GL_CULL_FACE
|
||||
glCullFace GL_BACK
|
||||
unless (debugOn Remove_LOS cfig) $ do
|
||||
glUseProgram (pdata ^. ceilingStencilShader)
|
||||
glBindVertexArray $ pdata ^. dummyVAO . vaoName
|
||||
@@ -137,7 +136,6 @@ doDrawing' win pdata u = do
|
||||
glNamedFramebufferDrawBuffers (pdata ^. fboBase . _1 . unFBO) 3
|
||||
--draw walls onto base buffer
|
||||
glEnable GL_CULL_FACE
|
||||
glCullFace GL_BACK
|
||||
glUseProgram (pdata ^. pullWallShader)
|
||||
glDrawArrays GL_TRIANGLES 0 (fromIntegral trueNWalls * 6)
|
||||
--draw object shapes onto base buffer
|
||||
@@ -154,12 +152,12 @@ doDrawing' win pdata u = do
|
||||
withArray [GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2] $
|
||||
glNamedFramebufferDrawBuffers (pdata ^. fboBase . _1 . unFBO) 3
|
||||
glDepthMask GL_TRUE
|
||||
glDisable GL_CULL_FACE
|
||||
--draw floor onto base buffer
|
||||
glUseProgram (pdata ^. floorShader)
|
||||
glStencilFunc GL_EQUAL 0 255
|
||||
glDrawArrays GL_TRIANGLES 0 (fromIntegral nFls)
|
||||
--glDisable GL_STENCIL_TEST
|
||||
glDisable GL_CULL_FACE
|
||||
glEnable GL_BLEND
|
||||
--draw lightmap into its own buffer
|
||||
createLightMap
|
||||
@@ -188,7 +186,7 @@ doDrawing' win pdata u = do
|
||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBloom . _1 . unFBO)
|
||||
withArray [0, 0, 0, 0] $
|
||||
glClearNamedFramebufferfv (pdata ^. fboBloom . _1 . unFBO) GL_COLOR 0
|
||||
glDepthFunc GL_LESS
|
||||
glDepthFunc GL_LEQUAL
|
||||
--glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
||||
--glBlendFunc GL_ONE GL_ONE_MINUS_SRC_ALPHA
|
||||
glBlendFunc GL_ONE GL_ONE
|
||||
@@ -240,8 +238,9 @@ doDrawing' win pdata u = do
|
||||
glBlendFuncSeparatei 0 GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA GL_ONE_MINUS_DST_ALPHA GL_ONE
|
||||
--glBlendFunci 0 GL_ONE GL_ONE_MINUS_SRC_ALPHA
|
||||
--withArray [GL_COLOR_ATTACHMENT0, GL_NONE] $
|
||||
withArray [GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1] $
|
||||
glNamedFramebufferDrawBuffers (pdata ^. fboCloud . _1 . unFBO) 2
|
||||
--withArray [GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1] $
|
||||
withArray [GL_COLOR_ATTACHMENT0] $
|
||||
glNamedFramebufferDrawBuffers (pdata ^. fboCloud . _1 . unFBO) 1
|
||||
withArray [0.5, 0.5, 0.5, 0] $
|
||||
glClearNamedFramebufferfv
|
||||
(pdata ^. fboCloud . _1 . unFBO)
|
||||
@@ -249,12 +248,6 @@ doDrawing' win pdata u = do
|
||||
0
|
||||
glUseProgram (pdata ^. cloudShader)
|
||||
glDrawArrays GL_TRIANGLES 0 (fromIntegral nCloudVs * 6)
|
||||
-- glEnable GL_CULL_FACE
|
||||
-- glEnable GL_DEPTH_CLAMP
|
||||
-- glCullFace GL_BACK
|
||||
---- drawShader (_windowShader pdata) nWins
|
||||
-- glDisable GL_DEPTH_CLAMP
|
||||
-- glDisable GL_CULL_FACE
|
||||
when (_gr_cloud_shadows cfig) $ do
|
||||
----render transparency depths
|
||||
-- glDepthMask GL_TRUE
|
||||
@@ -279,7 +272,6 @@ doDrawing' win pdata u = do
|
||||
---
|
||||
-- glEnable GL_CULL_FACE
|
||||
-- glEnable GL_DEPTH_CLAMP
|
||||
-- glCullFace GL_BACK
|
||||
---- drawShader (_windowShader pdata) nWins
|
||||
-- glDisable GL_DEPTH_CLAMP
|
||||
-- glDisable GL_CULL_FACE
|
||||
@@ -320,7 +312,6 @@ doDrawing' win pdata u = do
|
||||
glEnable GL_CULL_FACE
|
||||
glEnable GL_DEPTH_CLAMP
|
||||
glDepthFunc GL_LEQUAL
|
||||
glCullFace GL_BACK
|
||||
glDisable GL_BLEND
|
||||
-- glDepthFunc GL_ALWAYS
|
||||
-- glDisable GL_CULL_FACE
|
||||
|
||||
+1
-11
@@ -96,7 +96,6 @@ renderLightingNoShadows positiontexture normaltexture lightPoints pdata = do
|
||||
glStencilFunc GL_NOTEQUAL 128 255
|
||||
glStencilOp GL_KEEP GL_KEEP GL_KEEP
|
||||
glColorMask GL_TRUE GL_TRUE GL_TRUE GL_TRUE
|
||||
-- glDisable GL_STENCIL_TEST
|
||||
|
||||
|
||||
renderFlatLighting :: RenderData -> IO ()
|
||||
@@ -161,10 +160,7 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
||||
glColorMask GL_FALSE GL_FALSE GL_FALSE GL_FALSE
|
||||
-- setup stencil
|
||||
with 0 $
|
||||
glClearNamedFramebufferiv
|
||||
(pdata ^. fboLighting . _1 . unFBO)
|
||||
GL_STENCIL
|
||||
0
|
||||
glClearNamedFramebufferiv (pdata ^. fboLighting . _1 . unFBO) GL_STENCIL 0
|
||||
glDisable GL_CULL_FACE
|
||||
-- the first bit has been used to stencil out "ceilings" under which we never draw
|
||||
glStencilFunc GL_NOTEQUAL 128 255
|
||||
@@ -175,18 +171,12 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
||||
case shadrendertype of
|
||||
GeoObjShads -> do
|
||||
--draw silhouette shadows
|
||||
glEnable GL_DEPTH_CLAMP
|
||||
glUseProgram llinesShad
|
||||
glDrawArrays GL_TRIANGLES 0 ((fromIntegral nSils * 6) `div` 4)
|
||||
--draw caps on the near plane as required
|
||||
glEnable GL_CULL_FACE
|
||||
glCullFace GL_BACK
|
||||
glUseProgram lcapShad
|
||||
-- glUniform3f 0 x y z
|
||||
-- glUniform4f 1 r g b rad
|
||||
-- glFrontFace(GL_CW)
|
||||
glDrawArrays GL_TRIANGLES 0 (fromIntegral nCaps)
|
||||
-- glFrontFace(GL_CCW)
|
||||
glDisable GL_DEPTH_CLAMP
|
||||
_ -> return ()
|
||||
--draw lightmap itself
|
||||
|
||||
@@ -45,6 +45,3 @@ bufferShaderLayers shads counts = MV.imapM_ f shads
|
||||
(fromIntegral $ floatSize * stride * numSubElements * lay)
|
||||
(fromIntegral $ floatSize * numVs * stride)
|
||||
(_vboPtr theVBO `plusPtr` (floatSize * stride * numSubElements * lay))
|
||||
|
||||
--glNamedBufferSubDataH :: GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
|
||||
--glNamedBufferSubDataH = glNamedBufferSubData
|
||||
|
||||
Reference in New Issue
Block a user