Add picture shader container datatype

This commit is contained in:
2021-07-28 20:14:54 +02:00
parent a2b94965d7
commit ee553c6e49
9 changed files with 201 additions and 78 deletions
+16 -20
View File
@@ -77,32 +77,30 @@ doDrawing pdata w = do
if w ^. config . wall_textured
then renderTextureWalls pdata nWalls
else renderBlankWalls pdata nWalls
--_ <- renderFoldable pdata $ (picToAlt (Just 0) (polysToPic $ foregroundPics w) :: [RenderType])
--_ <- renderFoldable pdata $ (picToAlt (Just 0) pic :: [RenderType])
--FIXME _ <- renderFoldable pdata $ polysToPic $ foregroundPics w
vfore <- pokeBindFoldableLayer pdata $ polysToPic $ foregroundPics w
mapM_ (uncurry $ drawShaderLay 0) (vfore IM.! 0)
--_ <- renderFoldable pdata $ map snd $ filter ((==0).fst) pic
_ <- renderFoldable pdata $ polysToPic $ foregroundPics w
vnums <- pokeBindFoldableLayer pdata $ pic
mapM_ (uncurry $ drawShaderLay 0) (vnums IM.! 0)
let shads = _pictureShaders pdata
--mapM_ (uncurry $ drawShaderLay 0) ((,) <$> shads <*> count)
renderLayer 0 shads vnums
_ <- renderShader (_textureArrayShader pdata) (_floorTiles w)
bindFramebuffer Framebuffer $= fst (_fboBloom pdata)
clear [ColorBuffer]
blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
--_ <- renderFoldable pdata $ map snd $ filter ((==1).fst) pic
mapM_ (uncurry $ drawShaderLay 1) (vnums IM.! 1)
--mapM_ (uncurry $ drawShaderLay 1) (vnums IM.! 1)
renderLayer 1 shads vnums
bindFramebuffer Framebuffer $= fst (_fboColor pdata)
clear [ColorBuffer]
depthMask $= Disabled
mapM_ (uncurry $ drawShaderLay 3) (vnums IM.! 3)
mapM_ (uncurry $ drawShaderLay 4) (vnums IM.! 4)
mapM_ (uncurry $ drawShaderLay 5) (vnums IM.! 5)
--_ <- renderFoldable pdata $ map snd $ filter ((==3).fst) pic
--_ <- renderFoldable pdata $ map snd $ filter ((==4).fst) pic
--_ <- renderFoldable pdata $ map snd $ filter ((==5).fst) pic
--mapM_ (uncurry $ drawShaderLay 3) (vnums IM.! 3)
--mapM_ (uncurry $ drawShaderLay 4) (vnums IM.! 4)
--mapM_ (uncurry $ drawShaderLay 5) (vnums IM.! 5)
renderLayer 3 shads vnums
renderLayer 4 shads vnums
renderLayer 5 shads vnums
depthMask $= Enabled
bindFramebuffer Framebuffer $= fst (_fboFourth1 pdata)
@@ -145,8 +143,8 @@ doDrawing pdata w = do
drawShader (_fullscreenShader pdata) 4
depthFunc $= Just Lequal
--_ <- renderFoldable pdata $ map snd $ filter ((==2).fst) pic
mapM_ (uncurry $ drawShaderLay 2) (vnums IM.! 2)
--mapM_ (uncurry $ drawShaderLay 2) (vnums IM.! 2)
renderLayer 2 shads vnums
renderWindows pdata windowPoints
depthFunc $= Just Always
@@ -178,9 +176,7 @@ doDrawing pdata w = do
blend $= Enabled
blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
vovers <- pokeBindFoldableLayer pdata $ fixedCoordPictures w
mapM_ (uncurry $ drawShaderLay 0) (vovers IM.! 0)
--FIXME _ <- renderFoldable pdata $ fixedCoordPictures w
_ <- renderFoldable pdata $ fixedCoordPictures w
depthMask $= Enabled
eTicks <- SDL.ticks