Bind dummy vao once during preloadRender; fix texture shader normals

This commit is contained in:
2025-11-24 12:54:57 +00:00
parent 65d7b93a32
commit f5a972d9e2
5 changed files with 3 additions and 16 deletions
+1 -1
View File
@@ -12,5 +12,5 @@ void main()
fCol = vec4(0.2,0.3,0.6,1);
//fCol = vec4(0.6,0.4,0.3,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);
}
-1
View File
@@ -47,7 +47,6 @@ data RenderData = RenderData
, _wallVBO :: VBO
, _cloudVBO :: VBO
, _cloudShader :: GLuint
, _dummyVAO :: GLuint
}
makeLenses ''RenderData
-1
View File
@@ -114,7 +114,6 @@ doDrawing' win pdata u = do
glEnable GL_CULL_FACE
unless (debugOn Remove_LOS cfig) $ do
glUseProgram (pdata ^. ceilingStencilShader)
glBindVertexArray $ pdata ^. dummyVAO
glEnable GL_DEPTH_CLAMP
glDrawArrays GL_TRIANGLES 0 (fromIntegral (trueNWalls * 6))
glDisable GL_DEPTH_CLAMP
+2 -12
View File
@@ -92,6 +92,8 @@ preloadRender = do
let cloudvbo = VBO cloudbo cloudptr cvsize
dummyvao <- mglCreate glGenVertexArrays
glBindVertexArray dummyvao
--dummyvao <- mglCreate glGenVertexArrays
winpull <- makeSourcedShader "pull/window" [vert, frag]
wallpull <- makeSourcedShader "pull/wall" [vert, frag]
@@ -221,7 +223,6 @@ preloadRender = do
, _winVBO = winvbo
, _cloudVBO = cloudvbo
, _cloudShader = cloudshader
, _dummyVAO = dummyvao
}
--------------------end preloadRender
@@ -234,17 +235,6 @@ cornerList = concat
br = [ 3, -1, 2, 0]
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 =
-- [ [-1, 1, 0, 1]
-1
View File
@@ -175,7 +175,6 @@ renderShadows isclouds cam cfig shadrendertype nWalls nSils nCaps positiontextur
glDisable GL_CULL_FACE
-- the first bit has been used to stencil out "ceilings" under which we never draw
glStencilFunc GL_NOTEQUAL 128 255
glBindVertexArray $ pdata ^. dummyVAO
--draw wall shadows
--these could possibly stencil out object shadows as well
glUseProgram shadwall