Fix resize bug, resize RenderbufferObject of ping pong framebuffers

This commit is contained in:
jgk
2021-05-14 22:31:07 +02:00
parent c5657fe855
commit e658fdcd0b
8 changed files with 24 additions and 23 deletions
+7 -2
View File
@@ -42,11 +42,11 @@ resizeSpareFBO xsize ysize xfull yfull pdata = do
return pdata
resizeTextureFBO
:: (FramebufferObject , TextureObject)
:: (FramebufferObject , TextureObject, RenderbufferObject)
-> Int
-> Int
-> IO ()
resizeTextureFBO (fboName,fboTO) xsize ysize = do
resizeTextureFBO (fboName,fboTO,fboRBO) xsize ysize = do
let xsize' = fromIntegral xsize
ysize' = fromIntegral ysize
bindFramebuffer Framebuffer $= fboName
@@ -55,5 +55,10 @@ resizeTextureFBO (fboName,fboTO) xsize ysize = do
textureFilter Texture2D $= ((Linear',Just Linear') , Nearest)
generateMipmap' Texture2D
framebufferTexture2D Framebuffer (ColorAttachment 0) Texture2D fboTO 0
bindRenderbuffer Renderbuffer $= fboRBO
renderbufferStorage Renderbuffer Depth24Stencil8 (RenderbufferSize xsize' ysize')
framebufferRenderbuffer Framebuffer DepthStencilAttachment Renderbuffer fboRBO
fboStatus <- framebufferStatus Framebuffer
putStrLn $ "after resize, framebuffer status:" ++ show fboStatus