Bind dummy vao once during preloadRender; fix texture shader normals
This commit is contained in:
@@ -12,5 +12,5 @@ void main()
|
|||||||
fCol = vec4(0.2,0.3,0.6,1);
|
fCol = vec4(0.2,0.3,0.6,1);
|
||||||
//fCol = vec4(0.6,0.4,0.3,1);
|
//fCol = vec4(0.6,0.4,0.3,1);
|
||||||
fPos = vec4(vPos,1);
|
fPos = vec4(vPos,1);
|
||||||
normal = vec4(vPos + vec3(0.5) - texture(normalSampler,2*vTexPos.xy).xyz,0);
|
normal = vec4(vec3(0.5) - texture(normalSampler,2*vTexPos.xy).xyz,0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ data RenderData = RenderData
|
|||||||
, _wallVBO :: VBO
|
, _wallVBO :: VBO
|
||||||
, _cloudVBO :: VBO
|
, _cloudVBO :: VBO
|
||||||
, _cloudShader :: GLuint
|
, _cloudShader :: GLuint
|
||||||
, _dummyVAO :: GLuint
|
|
||||||
}
|
}
|
||||||
|
|
||||||
makeLenses ''RenderData
|
makeLenses ''RenderData
|
||||||
|
|||||||
@@ -114,7 +114,6 @@ doDrawing' win pdata u = do
|
|||||||
glEnable GL_CULL_FACE
|
glEnable GL_CULL_FACE
|
||||||
unless (debugOn Remove_LOS cfig) $ do
|
unless (debugOn Remove_LOS cfig) $ do
|
||||||
glUseProgram (pdata ^. ceilingStencilShader)
|
glUseProgram (pdata ^. ceilingStencilShader)
|
||||||
glBindVertexArray $ pdata ^. dummyVAO
|
|
||||||
glEnable GL_DEPTH_CLAMP
|
glEnable GL_DEPTH_CLAMP
|
||||||
glDrawArrays GL_TRIANGLES 0 (fromIntegral (trueNWalls * 6))
|
glDrawArrays GL_TRIANGLES 0 (fromIntegral (trueNWalls * 6))
|
||||||
glDisable GL_DEPTH_CLAMP
|
glDisable GL_DEPTH_CLAMP
|
||||||
|
|||||||
+2
-12
@@ -92,6 +92,8 @@ preloadRender = do
|
|||||||
let cloudvbo = VBO cloudbo cloudptr cvsize
|
let cloudvbo = VBO cloudbo cloudptr cvsize
|
||||||
|
|
||||||
dummyvao <- mglCreate glGenVertexArrays
|
dummyvao <- mglCreate glGenVertexArrays
|
||||||
|
glBindVertexArray dummyvao
|
||||||
|
--dummyvao <- mglCreate glGenVertexArrays
|
||||||
|
|
||||||
winpull <- makeSourcedShader "pull/window" [vert, frag]
|
winpull <- makeSourcedShader "pull/window" [vert, frag]
|
||||||
wallpull <- makeSourcedShader "pull/wall" [vert, frag]
|
wallpull <- makeSourcedShader "pull/wall" [vert, frag]
|
||||||
@@ -221,7 +223,6 @@ preloadRender = do
|
|||||||
, _winVBO = winvbo
|
, _winVBO = winvbo
|
||||||
, _cloudVBO = cloudvbo
|
, _cloudVBO = cloudvbo
|
||||||
, _cloudShader = cloudshader
|
, _cloudShader = cloudshader
|
||||||
, _dummyVAO = dummyvao
|
|
||||||
}
|
}
|
||||||
|
|
||||||
--------------------end preloadRender
|
--------------------end preloadRender
|
||||||
@@ -234,17 +235,6 @@ cornerList = concat
|
|||||||
br = [ 3, -1, 2, 0]
|
br = [ 3, -1, 2, 0]
|
||||||
tl = [-1, 3, 0, 2]
|
tl = [-1, 3, 0, 2]
|
||||||
|
|
||||||
cornerList' :: [Float]
|
|
||||||
cornerList' = concat
|
|
||||||
[ bl, br, tl
|
|
||||||
, tl, br, tr
|
|
||||||
]
|
|
||||||
where
|
|
||||||
bl = [-1, -1, 0, 0]
|
|
||||||
br = [ 1, -1, 1, 0]
|
|
||||||
tl = [-1, 1, 0, 1]
|
|
||||||
tr = [ 1, 1, 1, 1]
|
|
||||||
|
|
||||||
--cornerListForTriangles :: [[Float]]
|
--cornerListForTriangles :: [[Float]]
|
||||||
--cornerListForTriangles =
|
--cornerListForTriangles =
|
||||||
-- [ [-1, 1, 0, 1]
|
-- [ [-1, 1, 0, 1]
|
||||||
|
|||||||
@@ -175,7 +175,6 @@ renderShadows isclouds cam cfig shadrendertype nWalls nSils nCaps positiontextur
|
|||||||
glDisable GL_CULL_FACE
|
glDisable GL_CULL_FACE
|
||||||
-- the first bit has been used to stencil out "ceilings" under which we never draw
|
-- the first bit has been used to stencil out "ceilings" under which we never draw
|
||||||
glStencilFunc GL_NOTEQUAL 128 255
|
glStencilFunc GL_NOTEQUAL 128 255
|
||||||
glBindVertexArray $ pdata ^. dummyVAO
|
|
||||||
--draw wall shadows
|
--draw wall shadows
|
||||||
--these could possibly stencil out object shadows as well
|
--these could possibly stencil out object shadows as well
|
||||||
glUseProgram shadwall
|
glUseProgram shadwall
|
||||||
|
|||||||
Reference in New Issue
Block a user