Draw walls using vertex pulling
This commit is contained in:
@@ -41,14 +41,20 @@ preloadRender = do
|
||||
|
||||
winssbo <- mglCreate glCreateBuffers
|
||||
let winssbosize = sizeOf (0::Float) * 8 * 1024
|
||||
|
||||
glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
glBindBufferBase GL_SHADER_STORAGE_BUFFER 1 winssbo
|
||||
|
||||
wallssbo <- mglCreate glCreateBuffers
|
||||
let wallssbosize = sizeOf (0::Float) * 8 * 2048
|
||||
glNamedBufferStorage wallssbo (fromIntegral wallssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
glBindBufferBase GL_SHADER_STORAGE_BUFFER 2 wallssbo
|
||||
|
||||
dummyvao <- mglCreate glGenVertexArrays
|
||||
|
||||
winpull <- makeShaderUsingVAO "pull/window" [vert,frag] pmTriangles (VAO dummyvao)
|
||||
|
||||
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
|
||||
@@ -182,6 +188,7 @@ preloadRender = do
|
||||
, _ceilingStencilShader = ceilingstencilshader
|
||||
-- , _windowShader = windowshader
|
||||
, _windowPullShader = winpull
|
||||
, _pullWallShader = wallpull
|
||||
, _fullscreenShader = fsShad
|
||||
, _transparencyCompShader = transcompshader
|
||||
, _alphaDivideShader = alphadivideshader
|
||||
@@ -203,6 +210,7 @@ preloadRender = do
|
||||
, _rboBaseBloom = rboBaseBloomName
|
||||
, _matUBO = theUBO
|
||||
, _winSSBO = winssbo
|
||||
, _wallSSBO = wallssbo
|
||||
-- , _lightsUBO = lightsubo
|
||||
, _vboWindows = winvbo
|
||||
, _vboShapes = shVBO
|
||||
|
||||
Reference in New Issue
Block a user