Move towards removing renderStrategy data

This commit is contained in:
2021-07-29 15:58:35 +02:00
parent 25a6186e7b
commit 72f57b6ccf
6 changed files with 69 additions and 7 deletions
+20 -7
View File
@@ -53,15 +53,27 @@ doDrawing pdata w = do
pic = worldPictures w
-- bind as much data into vbos as feasible at this point
-- poke wall points and colors
nWalls <- F.foldM (pokeShader $ _wallTextureShader pdata) (map Render22x4 wallPointsCol)
-- _ <- F.foldM (pokeShader $ _wallTextureShader pdata) (map Render22x4 wallPointsCol)
--pokeArray (_vboPointer . _vaoVBO . _shaderVAO $ _wallTextureShader pdata) $ wallsToList wallPointsCol
--let nWalls = length wallPointsCol
nWalls <- pokeWalls (_vboPointer . _vaoVBO . _shaderVAO $ _wallTextureShader pdata) wallPointsCol
--poke
-- poke silhouette vertex data
nSils <- F.foldM (pokeShader $ _lightingLineShadowShader pdata)
(concatMap polyToRender (foregroundPics w))
-- nSils <- F.foldM (pokeShader $ _lightingLineShadowShader pdata)
-- (concatMap polyToRender (foregroundPics w))
nSils <- pokePoint3s (_vboPointer . _vaoVBO . _shaderVAO $ _lightingLineShadowShader pdata)
(_foregroundEdgeVerx w)
-- poke foreground geometry and floor
let addC (xx,yy) = (xx,yy,0)
nsurfVs <- F.foldM (pokeShader (_lightingSurfaceShader pdata))
$ Render3 (polyToTris $ map addC $ screenPolygon w)
: concatMap polyToGeoRender (foregroundPics w)
nsurfVs <- pokePoint3s (_vboPointer . _vaoVBO . _shaderVAO $ _lightingSurfaceShader pdata)
$ (polyToTris $ map addC $ screenPolygon w)
++ concatMap polyToGeoRender' (foregroundPics w)
--nsurfVs <- F.foldM (pokeShader (_lightingSurfaceShader pdata))
-- $ Render3 (polyToTris $ map addC $ screenPolygon w)
-- : concatMap polyToGeoRender (foregroundPics w)
-- bind wall points, silhouette data, surface geometry
uncurry bindShaderBuffers $ unzip
[ ( _wallTextureShader pdata, nWalls)
@@ -208,7 +220,8 @@ renderWindows
-> [((Point2,Point2),Point4)] -- ^ List: wall positions and color
-> IO ()
renderWindows pdata wps = do
n <- F.foldM (pokeShader $ _wallBlankShader pdata) (map Render22x4 wps)
--n <- F.foldM (pokeShader $ _wallBlankShader pdata) (map Render22x4 wps)
n <- pokeWalls (_vboPointer . _vaoVBO . _shaderVAO $ _wallBlankShader pdata) wps
bindShaderBuffers [_wallBlankShader pdata] [n]
currentProgram $= Just (_shaderProgram $ _wallBlankShader pdata)
cullFace $= Just Back