First implementation of SSBO, vertex pulling
This commit is contained in:
+21
-5
@@ -35,12 +35,25 @@ preloadRender = do
|
||||
-- set up uniform buffer object
|
||||
putStrLn "Setup UBO"
|
||||
theUBO <- mglCreate glCreateBuffers
|
||||
glNamedBufferData theUBO 64 nullPtr GL_STREAM_DRAW
|
||||
--glNamedBufferData theUBO 64 nullPtr GL_STREAM_DRAW
|
||||
glNamedBufferStorage theUBO 64 nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO
|
||||
|
||||
lightsubo <- mglCreate glCreateBuffers
|
||||
glNamedBufferData lightsubo 640 nullPtr GL_STREAM_DRAW
|
||||
glBindBufferBase GL_UNIFORM_BUFFER 1 lightsubo
|
||||
winssbo <- mglCreate glCreateBuffers
|
||||
let winssbosize = sizeOf (0::Float) * 8 * 1024
|
||||
-- winssboptr <- mallocBytes winssbosize
|
||||
glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
glBindBufferBase GL_SHADER_STORAGE_BUFFER 1 winssbo
|
||||
|
||||
--dummyvao <- mglCreate glCreateVertexArrays
|
||||
dummyvao <- mglCreate glGenVertexArrays
|
||||
|
||||
winpull <- makeShaderUsingVAO "pull/window" [vert,frag] pmTriangles (VAO dummyvao)
|
||||
|
||||
-- lightsubo <- mglCreate glCreateBuffers
|
||||
-- --glNamedBufferData lightsubo 640 nullPtr GL_STREAM_DRAW
|
||||
-- glNamedBufferStorage lightsubo 640 nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
-- glBindBufferBase GL_UNIFORM_BUFFER 1 lightsubo
|
||||
|
||||
-- setup shape geometry/cap VBO and two VAOs
|
||||
putStrLn "Setup shape VBO, VAO, EBO"
|
||||
@@ -181,6 +194,7 @@ preloadRender = do
|
||||
, _lightingWallShadShader = lightingWallShadShad
|
||||
, _ceilingStencilShader = ceilingstencilshader
|
||||
, _windowShader = windowshader
|
||||
, _windowPullShader = winpull
|
||||
, _fullscreenShader = fsShad
|
||||
, _transparencyCompShader = transcompshader
|
||||
, _alphaDivideShader = alphadivideshader
|
||||
@@ -201,7 +215,8 @@ preloadRender = do
|
||||
, _fboPos = fboPosName
|
||||
, _rboBaseBloom = rboBaseBloomName
|
||||
, _matUBO = theUBO
|
||||
, _lightsUBO = lightsubo
|
||||
, _winSSBO = winssbo
|
||||
-- , _lightsUBO = lightsubo
|
||||
, _vboWindows = winvbo
|
||||
, _vboShapes = shVBO
|
||||
, _floorVBO = floorvbo
|
||||
@@ -214,6 +229,7 @@ preloadRender = do
|
||||
, _cloudShader = cloudshader
|
||||
, _cloudEBO = cloudebo
|
||||
, _screenTextureVAO = screentexturevao
|
||||
, _dummyVAO = VAO dummyvao
|
||||
}
|
||||
|
||||
--------------------end preloadRender
|
||||
|
||||
Reference in New Issue
Block a user