Share wall points in buffer, part 1

This commit is contained in:
jgk
2021-07-11 15:17:40 +02:00
parent 5e21a6527d
commit 37d3e0ce63
3 changed files with 26 additions and 5 deletions
+6 -4
View File
@@ -69,8 +69,8 @@ createLightMap pdata resDiv wallPoints lightPoints fpics scPol = do
viewport $= (vppos, vsize)
textureBinding Texture2D $= Just (snd $ _fboLighting pdata)
-- store wall and light positions into buffer
nWallLights <- F.foldM (pokeShader $ _lightingWallShader pdata) (map Render22 wallPoints)
bindShaderBuffers [_lightingWallShader pdata] [nWallLights]
-- nWallLights <- F.foldM (pokeShader $ _lightingWallShader pdata) (map Render22 wallPoints)
-- bindShaderBuffers [_lightingWallShader pdata] [nWallLights]
nWalls <- F.foldM (pokeShader $ _lightingOccludeShader pdata) (map Render22 wallPoints)
bindShaderBuffers [_lightingOccludeShader pdata] [nWalls]
-- store foreground silhouette geometry into buffer
@@ -89,7 +89,8 @@ createLightMap pdata resDiv wallPoints lightPoints fpics scPol = do
cullFace $= Just Back
-- draw walls from your point of view in order to set z buffer
currentProgram $= Just (_shaderProgram $ _lightingWallShader pdata)
drawShader (_lightingWallShader pdata) nWallLights
--drawShader (_lightingWallShader pdata) nWallLights
drawShader (_lightingWallShader pdata) nWalls
--colorMask $= Color4 Disabled Disabled Disabled Disabled
--currentProgram $= Just (_shaderProgram $ _lightingOccludeShader pdata)
--uniform (head $ _shaderCustomUnis $ _lightingOccludeShader pdata)
@@ -151,7 +152,8 @@ createLightMap pdata resDiv wallPoints lightPoints fpics scPol = do
$= Vector3 x y z
uniform (_shaderCustomUnis (_lightingWallShader pdata) !! 1)
$= Vector2 r lum
drawShader (_lightingWallShader pdata) nWallLights
--drawShader (_lightingWallShader pdata) nWallLights
drawShader (_lightingWallShader pdata) nWalls
cullFace $= Nothing
stencilTest $= Disabled
blend $= Disabled