Remove distortion framebuffer/graphic resolution option

This commit is contained in:
2025-11-21 11:32:30 +00:00
parent 2500a01cb3
commit 71e7b51c88
7 changed files with 45 additions and 41 deletions
+13 -9
View File
@@ -261,12 +261,11 @@ doDrawing' win pdata u = do
glUseProgram (pdata ^. cloudShader)
glDrawArrays GL_TRIANGLES 0 (fromIntegral nCloudVs * 6)
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboPos . _1 . unFBO)
withArray [0, 0, 0, 0] $ \ptr ->
withArray [0, 0, 0, 0] $
glClearNamedFramebufferfv
(pdata ^. fboPos . _1 . unFBO)
GL_COLOR
0
ptr
glBindTextureUnit 0 (pdata ^. fboCloud . _2 . _2 . unTO)
glDepthMask GL_FALSE
glUseProgram (pdata ^. alphaDivideShader)
@@ -288,6 +287,11 @@ doDrawing' win pdata u = do
(pdata ^. fboCloud . _2 . _3)
lightPoints
pdata
-- no longer need cloud normals
withArray [GL_COLOR_ATTACHMENT1] $
glInvalidateNamedFramebufferData (pdata ^. fboCloud . _1 . unFBO) 1
-- no longer need shape data
glInvalidateBufferData (pdata ^. vboShapes . vboName)
--draw windows into window textures
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboWindow . _1 . unFBO)
glBindTextureUnit 3 (pdata ^. fboPos . _2 . unTO)
@@ -306,12 +310,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
-- don't need cloud postions/normals any more
-- don't need cloud postions any more
withArray [GL_COLOR_ATTACHMENT0] $
glInvalidateNamedFramebufferData (pdata ^. fboPos . _1 . unFBO) 1
glDrawArrays GL_TRIANGLES 0 (fromIntegral nWins * 12)
glDisable GL_DEPTH_CLAMP
glInvalidateBufferData (pdata ^. vboShapes . vboName)
--apply lightmap to cloud buffer
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboCloud pdata)))
glDepthMask GL_FALSE
@@ -356,7 +359,8 @@ doDrawing' win pdata u = do
glDrawArrays GL_TRIANGLES 0 6
rs' -> do
let rs = take 15 rs'
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fbo2 . _1 . unFBO)
--glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fbo2 . _1 . unFBO)
glBindFramebuffer GL_FRAMEBUFFER 0
withArray (concatMap rdToVec2s rs) $
glNamedBufferSubData (pdata ^. barrelShader . _2 . vboName) 0
(24 * fromIntegral (length rs * sizeOf (0 :: Float)))
@@ -364,10 +368,10 @@ doDrawing' win pdata u = do
glUseProgram (pdata ^. barrelShader . _1)
glUniform1i 0 (fromIntegral (length rs))
glDrawArrays GL_TRIANGLES 0 6
glBindTextureUnit 0 $ pdata ^. fbo2 . _2 . unTO
glBindFramebuffer GL_FRAMEBUFFER 0
glUseProgram (pdata ^. fullscreenShader)
glDrawArrays GL_TRIANGLES 0 6
-- glBindTextureUnit 0 $ pdata ^. fbo2 . _2 . unTO
-- glBindFramebuffer GL_FRAMEBUFFER 0
-- glUseProgram (pdata ^. fullscreenShader)
-- glDrawArrays GL_TRIANGLES 0 6
glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
-- draw the overlay
--glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboOverlay ._1 . unFBO)