Cleanup shaders
This commit is contained in:
+11
-37
@@ -31,7 +31,7 @@ preloadRender = do
|
||||
putStrLn "Number cores available:"
|
||||
getNumCapabilities >>= print
|
||||
|
||||
-- set up uniform buffer object
|
||||
-- set up uniform buffer objects
|
||||
putStrLn "Setup UBO"
|
||||
theUBO <- mglCreate glCreateBuffers
|
||||
glNamedBufferStorage theUBO 64 nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||
@@ -43,7 +43,7 @@ preloadRender = do
|
||||
|
||||
fulltexbo <- mglCreate glCreateBuffers
|
||||
let ftsize = fromIntegral $ sizeOf (0::Float) * 6 * 4
|
||||
withArray cornerList' $ \ptr ->
|
||||
withArray cornerList $ \ptr ->
|
||||
glNamedBufferStorage fulltexbo ftsize ptr 0
|
||||
glBindBufferBase GL_UNIFORM_BUFFER 2 fulltexbo
|
||||
|
||||
@@ -121,20 +121,12 @@ preloadRender = do
|
||||
-- GL_NEAREST_MIPMAP_LINEAR GL_LINEAR ?
|
||||
initTexture2DArray 50 "data/charMaps/cMap16x32.Custom.png" 2 16 32 256 GL_NEAREST GL_NEAREST
|
||||
putStrLn "Setup full screen shaders"
|
||||
(_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList)
|
||||
alphadivideshader <- makeShaderUsingVAO "texture2D/alphaDivide" [vert, frag] pmTriangleStrip screentexturevao
|
||||
-- (_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList)
|
||||
alphadivideshader <- makeSourcedShader "texture2D/alphaDivide" [vert, frag]
|
||||
fsShad <- makeSourcedShader "texture/simple" [vert, frag]
|
||||
transcompshader <-
|
||||
makeShaderUsingVAO
|
||||
"fullscreen/transparencyComp"
|
||||
[vert, frag]
|
||||
pmTriangleStrip
|
||||
screentexturevao
|
||||
bloomBlurShad <- makeShaderUsingVAO "texture/bloomBlur" [vert, frag] pmTriangleStrip screentexturevao
|
||||
colorBlurShad <- makeShaderUsingVAO "texture/colorBlur" [vert, frag] pmTriangleStrip screentexturevao
|
||||
grayscaleShad <- makeShaderUsingVAO "texture/grayscale" [vert, frag] pmTriangleStrip screentexturevao
|
||||
lightingTextureShad <-
|
||||
makeShaderUsingVAO "lighting/texture" [vert, frag] pmTriangleStrip screentexturevao
|
||||
transcompshader <- makeSourcedShader "fullscreen/transparencyComp" [vert, frag]
|
||||
bloomBlurShad <- makeSourcedShader "texture/bloomBlur" [vert, frag]
|
||||
lightingTextureShad <- makeSourcedShader "lighting/texture" [vert, frag]
|
||||
barrelShad <- makeShaderVBO "texture/barrel" [vert, geom, frag] (toFloatVAs [2, 2, 2, 1]) pmPoints
|
||||
-- blank wallShader
|
||||
putStrLn "Setup floor VBO, shader"
|
||||
@@ -154,21 +146,12 @@ preloadRender = do
|
||||
(toFloatVAs [3])
|
||||
pmTriangles
|
||||
chasmvbo
|
||||
-- putStrLn "Setup cloud VBO, shader"
|
||||
-- let cloudverxsizes = [4, 4, 4]
|
||||
-- cloudvbo <- setupVBO (floatSize * sum cloudverxsizes)
|
||||
-- (cloudshader, cloudebo) <-
|
||||
-- makeShaderEBO "cloud/basic" [vert, frag] (toFloatVAs cloudverxsizes) pmTriangles cloudvbo
|
||||
framebuf2 <- newTextureFramebuffer
|
||||
framebuf3 <- newTextureFramebuffer
|
||||
|
||||
putStrLn "Setup framebuffers"
|
||||
rboBaseBloomName <- mglCreate glCreateRenderbuffers
|
||||
glNamedRenderbufferStorage
|
||||
rboBaseBloomName
|
||||
GL_DEPTH24_STENCIL8
|
||||
800
|
||||
600
|
||||
glNamedRenderbufferStorage rboBaseBloomName GL_DEPTH24_STENCIL8 800 600
|
||||
|
||||
-- if adding to this list, recall you need to sizeFBOs
|
||||
fboBaseName <- setupFramebuffer3GivenStencil rboBaseBloomName
|
||||
@@ -203,9 +186,7 @@ preloadRender = do
|
||||
, _alphaDivideShader = alphadivideshader
|
||||
, _lightingTextureShader = lightingTextureShad
|
||||
, _bloomBlurShader = bloomBlurShad
|
||||
, _colorBlurShader = colorBlurShad
|
||||
, _barrelShader = barrelShad
|
||||
, _grayscaleShader = grayscaleShad
|
||||
, _fbo2 = framebuf2
|
||||
, _fbo3 = framebuf3
|
||||
, _fboHalf1 = fboHalf1Name
|
||||
@@ -228,20 +209,13 @@ preloadRender = do
|
||||
, _winVBO = winvbo
|
||||
, _cloudVBO = cloudvbo
|
||||
, _cloudShader = cloudshader
|
||||
, _screenTextureVAO = screentexturevao
|
||||
-- , _screenTextureVAO = screentexturevao
|
||||
, _dummyVAO = VAO dummyvao
|
||||
}
|
||||
|
||||
--------------------end preloadRender
|
||||
cornerList :: [[Float]]
|
||||
cornerList =
|
||||
[ [-1, 1, 0, 1]
|
||||
, [-1, -1, 0, 0]
|
||||
, [1, 1, 1, 1]
|
||||
, [1, -1, 1, 0]
|
||||
]
|
||||
cornerList' :: [Float]
|
||||
cornerList' = concat
|
||||
cornerList :: [Float]
|
||||
cornerList = concat
|
||||
[ bl, br, tl
|
||||
, tl, br, tr
|
||||
]
|
||||
|
||||
@@ -32,10 +32,5 @@ renderDataResizeUpdate cfig rdata = do
|
||||
(bh, bmid) = BS.breakSubstring "(" bbFrag
|
||||
(_, btt) = BS.breakSubstring ")" bmid
|
||||
bbFrag' = BS.append bh $ BS.append (BSC.pack $ '(' : show xsize ++ "," ++ show ysize) btt
|
||||
bbShad <-
|
||||
makeByteStringShaderUsingVAO
|
||||
"bloomBlur"
|
||||
[(vert, bbVert), (frag, bbFrag')]
|
||||
pmTriangleStrip
|
||||
(rdata ^. screenTextureVAO)
|
||||
bbShad <- makeShaderProgram "bloomBlur" [(vert, bbVert), (frag, bbFrag')]
|
||||
return rdata'{_bloomBlurShader = bbShad}
|
||||
|
||||
Reference in New Issue
Block a user