Use DSA for renderbuffers
This commit is contained in:
@@ -40,28 +40,30 @@ setupShadowFramebuffer = do
|
||||
return (fboName,(toName,toName2))
|
||||
|
||||
setupFramebufferGivenStencil
|
||||
:: RenderbufferObject
|
||||
:: GLuint -- RenderbufferObject
|
||||
-> IO (FramebufferObject, TextureObject)
|
||||
{-# INLINE setupFramebufferGivenStencil #-}
|
||||
setupFramebufferGivenStencil rboName = do
|
||||
fboName <- genObjectName
|
||||
bindFramebuffer Framebuffer $= fboName
|
||||
toName <- genObjectName
|
||||
framebufferRenderbuffer Framebuffer DepthStencilAttachment Renderbuffer rboName
|
||||
--framebufferRenderbuffer Framebuffer DepthStencilAttachment Renderbuffer rboName
|
||||
glFramebufferRenderbuffer GL_FRAMEBUFFER GL_DEPTH_STENCIL_ATTACHMENT GL_RENDERBUFFER rboName
|
||||
fboStatus <- framebufferStatus Framebuffer
|
||||
case fboStatus of
|
||||
Complete -> return ()
|
||||
_ -> putStrLn $ "Framebuffer with given stencil status: " ++ show fboStatus
|
||||
return (fboName,toName)
|
||||
setupFramebuffer2GivenStencil
|
||||
:: RenderbufferObject
|
||||
:: GLuint -- RenderbufferObject
|
||||
-> IO (FramebufferObject, (TextureObject,TextureObject))
|
||||
setupFramebuffer2GivenStencil rboName = do
|
||||
fboName <- genObjectName
|
||||
bindFramebuffer Framebuffer $= fboName
|
||||
toName <- genObjectName
|
||||
toName2 <- genObjectName
|
||||
framebufferRenderbuffer Framebuffer DepthStencilAttachment Renderbuffer rboName
|
||||
--framebufferRenderbuffer Framebuffer DepthStencilAttachment Renderbuffer rboName
|
||||
glFramebufferRenderbuffer GL_FRAMEBUFFER GL_DEPTH_STENCIL_ATTACHMENT GL_RENDERBUFFER rboName
|
||||
fboStatus <- framebufferStatus Framebuffer
|
||||
case fboStatus of
|
||||
Complete -> return ()
|
||||
|
||||
@@ -9,7 +9,7 @@ where
|
||||
import Data.Preload.Render
|
||||
|
||||
import Graphics.Rendering.OpenGL
|
||||
import Graphics.GL.Core43
|
||||
import Graphics.GL.Core45
|
||||
--import Foreign
|
||||
import Control.Lens
|
||||
import Control.Monad
|
||||
@@ -37,15 +37,20 @@ sizeFBOs xsize ysize xfull yfull rdata = do
|
||||
-- return rdata4
|
||||
|
||||
resizeRBO
|
||||
:: RenderbufferObject
|
||||
:: GLuint -- RenderbufferObject
|
||||
-> Int
|
||||
-> Int
|
||||
-> IO ()
|
||||
resizeRBO rboName xsize ysize = do
|
||||
let xsize' = fromIntegral xsize
|
||||
ysize' = fromIntegral ysize
|
||||
bindRenderbuffer Renderbuffer $= rboName
|
||||
renderbufferStorage Renderbuffer Depth24Stencil8 (RenderbufferSize xsize' ysize')
|
||||
--bindRenderbuffer Renderbuffer $= rboName
|
||||
--renderbufferStorage Renderbuffer Depth24Stencil8 (RenderbufferSize xsize' ysize')
|
||||
glNamedRenderbufferStorage
|
||||
rboName
|
||||
GL_DEPTH24_STENCIL8
|
||||
xsize'
|
||||
ysize'
|
||||
updateFBOTO
|
||||
:: Int
|
||||
-> Int
|
||||
|
||||
Reference in New Issue
Block a user