Make bloom trail last for at most one frame
This commit is contained in:
+8
-12
@@ -92,8 +92,8 @@ preloadRender = do
|
||||
fboBloomName <- newFramebufferGivenStencil rboBaseBloomName
|
||||
fboColorName <- newFramebufferGivenStencil rboBaseBloomName
|
||||
|
||||
fboFourth1Name <- setupTextureFramebuffer 600 600
|
||||
fboFourth2Name <- setupTextureFramebuffer 600 600
|
||||
fboFourth1Name <- setupTextureFramebuffer 300 300
|
||||
fboFourth2Name <- setupTextureFramebuffer 300 300
|
||||
|
||||
-- reset to default framebuffer, ready for drawing direct to screen
|
||||
bindFramebuffer Framebuffer $= defaultFramebufferObject
|
||||
@@ -156,8 +156,7 @@ setupFramebufferWithStencil = do
|
||||
fboTO <- genObjectName
|
||||
textureBinding Texture2D $= Just fboTO
|
||||
texImage2D Texture2D NoProxy 0 RGBA8 (TextureSize2D 800 600) 0 (PixelData RGBA UnsignedByte nullPtr)
|
||||
textureFilter Texture2D $= ((Linear',Just Linear') , Linear')
|
||||
generateMipmap' Texture2D
|
||||
textureFilter Texture2D $= minMagFilter
|
||||
framebufferTexture2D Framebuffer (ColorAttachment 0) Texture2D fboTO 0
|
||||
|
||||
fboRBO <- genObjectName
|
||||
@@ -188,9 +187,7 @@ newFramebufferGivenStencil rboName = do
|
||||
textureBinding Texture2D $= Just toName
|
||||
texImage2D Texture2D NoProxy 0 RGBA8 (TextureSize2D 800 600) 0 (PixelData RGBA UnsignedByte nullPtr)
|
||||
-- don't need mipmaps
|
||||
textureFilter Texture2D $= ((Linear',Nothing) , Linear')
|
||||
--textureFilter Texture2D $= ((Linear',Just Linear') , Linear')
|
||||
--generateMipmap' Texture2D
|
||||
textureFilter Texture2D $= minMagFilter
|
||||
framebufferTexture2D Framebuffer (ColorAttachment 0) Texture2D toName 0
|
||||
framebufferRenderbuffer Framebuffer DepthStencilAttachment Renderbuffer rboName
|
||||
fboStatus <- framebufferStatus Framebuffer
|
||||
@@ -208,16 +205,15 @@ setupTextureFramebuffer x y = do
|
||||
fboTO <- genObjectName
|
||||
textureBinding Texture2D $= Just fboTO
|
||||
texImage2D Texture2D NoProxy 0 RGBA8 (TextureSize2D x y) 0 (PixelData RGBA UnsignedByte nullPtr)
|
||||
--textureFilter Texture2D $= ((Linear',Just Linear') , Linear')
|
||||
textureFilter Texture2D $= ((Nearest,Nothing) , Nearest)
|
||||
--textureFilter Texture2D $= ((Linear',Nothing) , Linear')
|
||||
--textureFilter Texture2D $= ((Nearest,Just Nearest) , Nearest)
|
||||
--generateMipmap' Texture2D
|
||||
textureFilter Texture2D $= minMagFilter
|
||||
framebufferTexture2D Framebuffer (ColorAttachment 0) Texture2D fboTO 0
|
||||
fboStatus <- framebufferStatus Framebuffer
|
||||
print fboStatus
|
||||
return (fboName, fboTO)
|
||||
|
||||
minMagFilter :: ((TextureFilter, Maybe TextureFilter),TextureFilter)
|
||||
minMagFilter = ((Nearest,Nothing),Nearest)
|
||||
|
||||
cleanUpRenderPreload :: RenderData -> IO ()
|
||||
cleanUpRenderPreload pd = do
|
||||
mapM_ freeShaderPointers $ _pictureShaders pd
|
||||
|
||||
@@ -25,9 +25,6 @@ resizeSpareFBO xsize ysize xfull yfull pdata = do
|
||||
bindFramebuffer Framebuffer $= fboName
|
||||
textureBinding Texture2D $= Just fboTO
|
||||
texImage2D Texture2D NoProxy 0 RGBA8 (TextureSize2D xsize' ysize') 0 (PixelData RGBA UnsignedByte nullPtr)
|
||||
textureFilter Texture2D $= ((Linear',Nothing) , Nearest)
|
||||
--textureFilter Texture2D $= ((Linear',Just Linear') , Nearest)
|
||||
--generateMipmap' Texture2D
|
||||
framebufferTexture2D Framebuffer (ColorAttachment 0) Texture2D fboTO 0
|
||||
|
||||
bindRenderbuffer Renderbuffer $= fboRBO
|
||||
@@ -57,9 +54,6 @@ resizeTextureFBO (fboName,fboTO,fboRBO) xsize ysize = do
|
||||
bindFramebuffer Framebuffer $= fboName
|
||||
textureBinding Texture2D $= Just fboTO
|
||||
texImage2D Texture2D NoProxy 0 RGBA8 (TextureSize2D xsize' ysize') 0 (PixelData RGBA UnsignedByte nullPtr)
|
||||
textureFilter Texture2D $= ((Linear',Nothing) , Nearest)
|
||||
--textureFilter Texture2D $= ((Linear',Just Linear') , Nearest)
|
||||
--generateMipmap' Texture2D
|
||||
framebufferTexture2D Framebuffer (ColorAttachment 0) Texture2D fboTO 0
|
||||
|
||||
bindRenderbuffer Renderbuffer $= fboRBO
|
||||
@@ -91,9 +85,6 @@ resizeFBOTO (fboName,fboTO) xsize ysize = do
|
||||
bindFramebuffer Framebuffer $= fboName
|
||||
textureBinding Texture2D $= Just fboTO
|
||||
texImage2D Texture2D NoProxy 0 RGBA8 (TextureSize2D xsize' ysize') 0 (PixelData RGBA UnsignedByte nullPtr)
|
||||
textureFilter Texture2D $= ((Linear',Nothing) , Nearest)
|
||||
--textureFilter Texture2D $= ((Linear',Just Linear') , Nearest)
|
||||
--generateMipmap' Texture2D
|
||||
framebufferTexture2D Framebuffer (ColorAttachment 0) Texture2D fboTO 0
|
||||
fboStatus <- framebufferStatus Framebuffer
|
||||
putStrLn $ "after resize, framebuffer status:" ++ show fboStatus
|
||||
|
||||
Reference in New Issue
Block a user