Cleanup window buffers
This commit is contained in:
+12
-19
@@ -43,16 +43,22 @@ preloadRender = do
|
||||
let winssbosize = sizeOf (0::Float) * 8 * 1024
|
||||
glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
glBindBufferBase GL_SHADER_STORAGE_BUFFER 1 winssbo
|
||||
winptr <- mallocBytes winssbosize
|
||||
let winvbo = VBO winssbo winptr 8
|
||||
|
||||
let wallsn = 4096
|
||||
wallssbo <- mglCreate glCreateBuffers
|
||||
let wallssbosize = sizeOf (0::Float) * 8 * 2048
|
||||
let wallssbosize = sizeOf (0::Float) * 8 * wallsn
|
||||
glNamedBufferStorage wallssbo (fromIntegral wallssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
glBindBufferBase GL_SHADER_STORAGE_BUFFER 2 wallssbo
|
||||
wallssboptr <- mallocBytes wallssbosize
|
||||
let wallvbo = VBO wallssbo wallssboptr 8
|
||||
|
||||
shapessbo <- mglCreate glCreateBuffers
|
||||
let shapessbosize = fromIntegral (sizeOf (0::Float) * 12) * 65536
|
||||
glNamedBufferStorage shapessbo shapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
glBindBufferBase GL_SHADER_STORAGE_BUFFER 3 shapessbo
|
||||
|
||||
ishapessbo <- mglCreate glCreateBuffers
|
||||
let ishapessbosize = fromIntegral (sizeOf (0::GLuint) * 65536)
|
||||
glNamedBufferStorage ishapessbo ishapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
@@ -70,7 +76,6 @@ preloadRender = do
|
||||
|
||||
wallpull <- makeShaderUsingVAO "pull/wall" [vert,frag] pmTriangles (VAO dummyvao)
|
||||
|
||||
-- setup shape geometry/cap VBO and two VAOs
|
||||
putStrLn "Setup shape VBO, VAO, EBO"
|
||||
shVBO <- setupVBO shapeVerxSize
|
||||
shPosVAO <- setupVAOUsingVBO [VertexAttribute 4 GL_FLOAT GL_FALSE 0] shVBO
|
||||
@@ -86,30 +91,17 @@ preloadRender = do
|
||||
shVBO
|
||||
glVertexArrayElementBuffer (shapeshader ^. shaderVAO . vaoName) (shEBO ^. uiboName)
|
||||
|
||||
--setup silhouette edge VAO
|
||||
-- putStrLn "Setup silhouette VAO, EBO"
|
||||
-- shedgevao <- setupVAOUsingVBO [VertexAttribute 4 GL_FLOAT GL_FALSE 0] shVBO
|
||||
-- shedgeebo <- setupEBO shedgevao
|
||||
|
||||
putStrLn "Setup wall/windows VBO, VAO, EBO, shader"
|
||||
let wallverxstrd = 8
|
||||
wallvbo <- setupVBO (floatSize * wallverxstrd)
|
||||
winvbo <- setupVBO (floatSize * 8)
|
||||
-- wallshader <- makeShaderUsingVBO "wall/basic" [vert, geom, frag] (toFloatVAs [4, 4]) pmPoints wallvbo
|
||||
-- winvbo <- setupVBO (floatSize * 8)
|
||||
putStrLn "Setup lighting shaders"
|
||||
lightingWallShadShad <-
|
||||
--makeShaderUsingVBO "lighting/wallShadow" [vert, geom] (toFloatVAs [4]) pmPoints wallvbo
|
||||
makeShaderUsingVAO "lighting/wallShadow" [vert] pmTriangles (VAO dummyvao)
|
||||
lightingCapShad <-
|
||||
--makeShaderUsingVAO "lighting/cap" [vert, geom] pmTriangles shPosVAO
|
||||
makeShaderUsingVAO "lighting/cap" [vert] pmTriangles (VAO dummyvao)
|
||||
lightingLineShadowShad <-
|
||||
--makeShaderUsingVAO "lighting/lineShadow" [vert, geom] pmLinesAdjacency shedgevao
|
||||
makeShaderUsingVAO "lighting/lineShadow" [vert] pmTriangles (VAO dummyvao)
|
||||
|
||||
ceilingstencilshader <- makeShaderUsingVAO "ceiling/stencil" [vert] pmTriangles
|
||||
(VAO dummyvao)
|
||||
-- makeShaderUsingVBO "ceiling/stencil" [vert, geom] (toFloatVAs [4]) pmPoints wallvbo
|
||||
|
||||
putStrLn "Setup 2D shaders"
|
||||
bslist <- makeShaderVBO "dualTwoD/basic" [vert, frag] (toFloatVAs [3, 4]) pmTriangles
|
||||
@@ -229,19 +221,20 @@ preloadRender = do
|
||||
, _fboPos = fboPosName
|
||||
, _rboBaseBloom = rboBaseBloomName
|
||||
, _matUBO = theUBO
|
||||
, _winSSBO = winssbo
|
||||
, _wallSSBO = wallssbo
|
||||
-- , _winSSBO = winssbo
|
||||
-- , _wallSSBO = wallssbo
|
||||
, _shapeSSBO = shapessbo
|
||||
, _ishapeSSBO = ishapessbo
|
||||
-- , _ieshapeSSBO = ieshapessbo
|
||||
-- , _lightsUBO = lightsubo
|
||||
, _vboWindows = winvbo
|
||||
-- , _vboWindows = winvbo
|
||||
, _vboShapes = shVBO
|
||||
, _floorVBO = floorvbo
|
||||
, _floorShader = floorshader
|
||||
, _chasmVBO = chasmvbo
|
||||
, _chasmShader = chasmshader
|
||||
, _wallVBO = wallvbo
|
||||
, _winVBO = winvbo
|
||||
-- , _wallShader = wallshader
|
||||
, _cloudVBO = cloudvbo
|
||||
, _cloudShader = cloudshader
|
||||
|
||||
Reference in New Issue
Block a user