Quick hack to make window rendering passable

Before windows drew even on black backgrounds
This commit is contained in:
2025-11-23 00:24:14 +00:00
parent 229350120a
commit 74c02291c1
7 changed files with 93 additions and 106 deletions
+6 -2
View File
@@ -301,7 +301,7 @@ doDrawing' win pdata u = do
glClearNamedFramebufferfv (pdata ^. fboWindow . _1 . unFBO) GL_COLOR 0
withArray [0, 0, 0, 0] $
glClearNamedFramebufferfv (pdata ^. fboWindow . _1 . unFBO) GL_COLOR 1
glEnable GL_CULL_FACE
-- glEnable GL_CULL_FACE
glEnable GL_DEPTH_CLAMP
glDepthFunc GL_LEQUAL
glDepthMask GL_FALSE
@@ -311,10 +311,11 @@ doDrawing' win pdata u = do
-- with all source alphas 0.25, alpha -> 0.5
glBlendFunc GL_ONE_MINUS_DST_ALPHA GL_ONE_MINUS_SRC_ALPHA
glUseProgram $ pdata ^. windowPullShader
glDrawArrays GL_TRIANGLES 0 (fromIntegral nWins * 12)
-- don't need cloud postions any more
withArray [GL_COLOR_ATTACHMENT0] $
glInvalidateNamedFramebufferData (pdata ^. fboPos . _1 . unFBO) 1
glDrawArrays GL_TRIANGLES 0 (fromIntegral nWins * 12)
glEnable GL_CULL_FACE
glDisable GL_DEPTH_CLAMP
--apply lightmap to cloud buffer
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboCloud pdata)))
@@ -332,10 +333,13 @@ doDrawing' win pdata u = do
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
glUseProgram (pdata ^. fullscreenShader)
glBindTextureUnit 0 (pdata ^. fboWindow . _2 . _2 . unTO)
glBlendFunc GL_DST_COLOR GL_ONE_MINUS_SRC_ALPHA
glDrawArrays GL_TRIANGLES 0 6
glBindTextureUnit 0 (pdata ^. fboCloud . _2 . _1 . unTO)
glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
glDrawArrays GL_TRIANGLES 0 6
glBindTextureUnit 0 (pdata ^. fboWindow . _2 . _1 . unTO)
glBlendFunc GL_DST_COLOR GL_ONE_MINUS_SRC_ALPHA
glDrawArrays GL_TRIANGLES 0 6
--Draw blurred bloom onto base buffer