Use downscaling to sixteenth res for bloom

This commit is contained in:
2025-11-30 11:47:14 +00:00
parent 6ebf3f4ef7
commit 1635ce0176
4 changed files with 37 additions and 18 deletions
+15 -9
View File
@@ -205,7 +205,7 @@ doDrawing' win pdata u = do
--setup downscale viewport for blurring bloom
setViewport _gr_downsize_res cfig
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboHalf1 pdata)))
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboHalf pdata)))
glDepthFunc GL_ALWAYS
glBindTextureUnit 0 (pdata ^. fboBloom . _2 . unTO)
glGenerateTextureMipmap (pdata ^. fboBloom . _2 . unTO)
@@ -221,13 +221,19 @@ doDrawing' win pdata u = do
glUseProgram (_bloomBlurShader pdata)
--glDrawArrays GL_TRIANGLES 0 6
glDrawArrays GL_TRIANGLES 0 3
when (cfig ^. gr_bloom) $ do
replicateM_ 1 $
pingPongBetween
(_fboHalf1 pdata)
(_fboHalf2 pdata)
(_bloomBlurShader pdata)
glEnable GL_BLEND
glBindFramebuffer GL_FRAMEBUFFER $ pdata ^. fboQuarter . _1 . unFBO
glGenerateTextureMipmap (pdata ^. fboHalf . _2 . unTO)
glBindTextureUnit 0 (pdata ^. fboHalf . _2 . unTO)
setViewport (const SixteenthRes) cfig
glDrawArrays GL_TRIANGLES 0 3
glEnable GL_BLEND
-- when (cfig ^. gr_bloom) $ do
-- replicateM_ 1 $
-- pingPongBetween
-- (_fboHalf1 pdata)
-- (_fboHalf2 pdata)
-- (_bloomBlurShader pdata)
-- glEnable GL_BLEND
setViewport _gr_world_res cfig
--draw clouds onto cloud buffer
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboCloud . _1 . unFBO)
@@ -354,7 +360,7 @@ doDrawing' win pdata u = do
glEnable GL_BLEND
glBlendFunc GL_SRC_ALPHA GL_ONE
--glBlendFunc GL_ONE GL_ONE
glBindTextureUnit 0 (_unTO . snd $ _fboHalf1 pdata)
glBindTextureUnit 0 (_unTO . snd $ _fboQuarter pdata)
glUseProgram (pdata ^. fullscreenShader)
--glDrawArrays GL_TRIANGLES 0 6
glDrawArrays GL_TRIANGLES 0 3