Move towards removing renderStrategy data
This commit is contained in:
+20
-7
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user