Refactor framebuffer update

This commit is contained in:
2023-03-24 13:14:49 +00:00
parent bd9f32875e
commit 4d09927d42
9 changed files with 59 additions and 83 deletions
+8 -7
View File
@@ -5,12 +5,12 @@ module Preload.Update (
renderDataResizeUpdate,
) where
import Dodge.WindowSize
import Dodge.Data.Universe
import Control.Lens
import qualified Data.ByteString as BS
import qualified Data.ByteString.Char8 as BSC
import Data.Preload.Render
import Dodge.Data.Universe
import Dodge.WindowSize
import Framebuffer.Update
import Shader.Compile
import Shader.Data
@@ -18,9 +18,10 @@ import Shader.Data
-- i don't like this being here pulling in the dodge universe dependency, but
-- splitting it out would be overkill
updatePreload :: Universe -> IO Universe
updatePreload u = do
pdata <- renderDataResizeUpdate (u ^. uvConfig) (u ^. preloadData . renderData)
return $ u & preloadData . renderData .~ pdata
updatePreload u =
(preloadData . renderData)
(renderDataResizeUpdate (u ^. uvConfig))
u
renderDataResizeUpdate ::
Configuration ->
@@ -30,7 +31,7 @@ renderDataResizeUpdate cfig rdata = do
rdata' <- sizeFBOs cfig rdata
bbVert <- BS.readFile "shader/texture/bloomBlur.vert"
bbFrag <- BS.readFile "shader/texture/bloomBlur.frag"
let (xsize,ysize) = getWindowSize _graphics_downsize_resolution cfig :: (Int,Int)
let (xsize, ysize) = getWindowSize _graphics_downsize_resolution cfig :: (Int, Int)
(bh, bmid) = BS.breakSubstring "(" bbFrag
(_, btt) = BS.breakSubstring ")" bmid
bbFrag' = BS.append bh $ BS.append (BSC.pack $ '(' : show xsize ++ "," ++ show ysize) btt
@@ -40,4 +41,4 @@ renderDataResizeUpdate cfig rdata = do
[(vert, bbVert), (frag, bbFrag')]
pmTriangleStrip
(rdata ^. screenTextureVAO)
return (rdata'{_bloomBlurShader = bbShad})
return rdata'{_bloomBlurShader = bbShad}