Use DSA for renderbuffers

This commit is contained in:
2023-03-09 14:58:38 +00:00
parent 0b698e5f5d
commit 76a8b05433
11 changed files with 81 additions and 74 deletions
+12 -12
View File
@@ -28,11 +28,7 @@ preloadRender :: IO RenderData
preloadRender = do
-- set up uniform buffer object
theUBO <- mglCreateSingle glCreateBuffers
--glBindBuffer GL_UNIFORM_BUFFER theUBO
--bindBuffer UniformBuffer $= Just theUBO
glNamedBufferData theUBO 64 nullPtr GL_STREAM_DRAW
--bufferData UniformBuffer $= (64, nullPtr, StreamDraw)
--bindBufferBase IndexedUniformBuffer 0 $= Just theUBO
glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO
-- setup wall points VBO, VAOs and shaders
wpVBOname <- mglCreateSingle glCreateBuffers
@@ -58,11 +54,10 @@ preloadRender = do
-- setup window points VBO, VAOs and shaders
winVBOname <- mglCreateSingle glCreateBuffers
winVBOptr <- mallocArray (8 * numDrawableWalls)
bufferData ArrayBuffer
$= ( fromIntegral $ floatSize * numDrawableWalls * 8
, nullPtr
, StreamDraw
)
glNamedBufferData wpVBOname
( fromIntegral $ floatSize * numDrawableWalls * 8)
nullPtr
GL_STREAM_DRAW
let winVBO = VBO{_vboName = winVBOname, _vboPtr = winVBOptr, _vboAttribSizes = [4, 4], _vboStride = 8}
--winColVAOname <- genObjectName
--bindVertexArrayObject $= Just winColVAOname
@@ -180,9 +175,14 @@ preloadRender = do
framebuf2 <- setupTextureFramebuffer 800 600
framebuf3 <- setupTextureFramebuffer 800 600
rboBaseBloomName <- genObjectName
bindRenderbuffer Renderbuffer $= rboBaseBloomName
renderbufferStorage Renderbuffer Depth24Stencil8 (RenderbufferSize 800 600)
rboBaseBloomName <- mglCreateSingle glCreateRenderbuffers
--bindRenderbuffer Renderbuffer $= rboBaseBloomName
--renderbufferStorage Renderbuffer Depth24Stencil8 (RenderbufferSize 800 600)
glNamedRenderbufferStorage
rboBaseBloomName
GL_DEPTH24_STENCIL8
800
600
fboBaseName <- setupFramebuffer2GivenStencil rboBaseBloomName
fboCloudName <- setupFramebuffer2GivenStencil rboBaseBloomName