Simplify ceiling oclusions
This commit is contained in:
+25
-13
@@ -5,8 +5,6 @@ module Preload.Render (
|
||||
cleanUpRenderPreload,
|
||||
) where
|
||||
|
||||
import Shape.Parameters
|
||||
import Shader.Parameters
|
||||
import Control.Concurrent
|
||||
import Control.Lens
|
||||
import Control.Monad
|
||||
@@ -19,6 +17,8 @@ import Graphics.GL.Core45
|
||||
import Shader.AuxAddition
|
||||
import Shader.Compile
|
||||
import Shader.Data
|
||||
import Shader.Parameters
|
||||
import Shape.Parameters
|
||||
|
||||
{- BINDING LIST:
|
||||
0 base
|
||||
@@ -49,9 +49,13 @@ preloadRender = do
|
||||
shEBO <- setupEBO shPosVAO
|
||||
-- note the shape shader vao is distinct from the position vao, but they
|
||||
-- share an EBO
|
||||
shapeshader <- makeShaderUsingVBO "shape/basic" [vert, frag]
|
||||
shapeVerxAttributes
|
||||
pmTriangles shVBO
|
||||
shapeshader <-
|
||||
makeShaderUsingVBO
|
||||
"shape/basic"
|
||||
[vert, frag]
|
||||
shapeVerxAttributes
|
||||
pmTriangles
|
||||
shVBO
|
||||
glVertexArrayElementBuffer (shapeshader ^. shaderVAO . vaoName) (shEBO ^. eboName)
|
||||
|
||||
--setup silhouette edge VAO
|
||||
@@ -63,8 +67,13 @@ preloadRender = do
|
||||
let wallverxstrd = 8
|
||||
wallvbo <- setupVBO (floatSize * wallverxstrd)
|
||||
winvbo <- setupVBO (floatSize * 8)
|
||||
windowshader <- makeShaderUsingVBO
|
||||
"wall/window" [vert, geom, frag] (toFloatVAs [4, 4]) pmPoints winvbo
|
||||
windowshader <-
|
||||
makeShaderUsingVBO
|
||||
"wall/window"
|
||||
[vert, geom, frag]
|
||||
(toFloatVAs [4, 4])
|
||||
pmPoints
|
||||
winvbo
|
||||
wallshader <- makeShaderUsingVBO "wall/basic" [vert, geom, frag] (toFloatVAs [4, 4]) pmPoints wallvbo
|
||||
putStrLn "Setup lighting shaders"
|
||||
lightingWallShadShad <-
|
||||
@@ -100,7 +109,7 @@ preloadRender = do
|
||||
--initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_LINEAR_MIPMAP_NEAREST GL_LINEAR
|
||||
|
||||
putStrLn "Setup full screen shaders"
|
||||
(_,screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2,2]) (concat cornerList)
|
||||
(_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList)
|
||||
alphadivideshader <- makeShaderUsingVAO "texture2D/alphaDivide" [vert, frag] pmTriangleStrip screentexturevao
|
||||
fsShad <- makeShaderUsingVAO "texture/simple" [vert, frag] pmTriangleStrip screentexturevao
|
||||
bloomBlurShad <- makeShaderUsingVAO "texture/bloomBlur" [vert, frag] pmTriangleStrip screentexturevao
|
||||
@@ -120,10 +129,14 @@ preloadRender = do
|
||||
putStrLn "Setup chasm VBO, shader"
|
||||
let chasmverxstrd = 3
|
||||
chasmvbo <- setupVBOStatic (floatSize * chasmverxstrd)
|
||||
chasmshader <- makeShaderUsingVBO "positional/blank" [vert, frag] (toFloatVAs [3]) pmTriangles chasmvbo
|
||||
|
||||
chasmshader <-
|
||||
makeShaderUsingVBO
|
||||
"positional/blank"
|
||||
[vert, frag]
|
||||
(toFloatVAs [3])
|
||||
pmTriangles
|
||||
chasmvbo
|
||||
putStrLn "Setup cloud VBO, shader"
|
||||
--let cloudverxsizes = [4, 4, 4, 4]
|
||||
let cloudverxsizes = [4, 4, 4]
|
||||
cloudvbo <- setupVBO (floatSize * sum cloudverxsizes)
|
||||
(cloudshader, cloudebo) <-
|
||||
@@ -151,7 +164,6 @@ preloadRender = do
|
||||
-- reset to default framebuffer, ready for drawing direct to screen
|
||||
glBindFramebuffer GL_FRAMEBUFFER 0
|
||||
|
||||
|
||||
initializeGLState
|
||||
putStrLn "Return preload"
|
||||
return $
|
||||
@@ -177,7 +189,6 @@ preloadRender = do
|
||||
, _fboHalf1 = fboHalf1Name
|
||||
, _fboHalf2 = fboHalf2Name
|
||||
, _fboLighting = fboLightingName
|
||||
-- , _fboShadow = fboShadowName
|
||||
, _fboBase = fboBaseName
|
||||
, _fboCloud = fboCloudName
|
||||
, _fboBloom = fboBloomName
|
||||
@@ -221,6 +232,7 @@ cornerList =
|
||||
initializeGLState :: IO ()
|
||||
initializeGLState = do
|
||||
glEnable GL_DEPTH_TEST
|
||||
glEnable GL_STENCIL_TEST
|
||||
|
||||
cleanUpRenderPreload :: RenderData -> IO ()
|
||||
cleanUpRenderPreload _ = return ()
|
||||
|
||||
Reference in New Issue
Block a user