Broken binding of central picture in one pass
This commit is contained in:
+17
-8
@@ -34,7 +34,7 @@ import qualified Control.Foldl as F
|
||||
--import Data.List
|
||||
--import Data.Bifunctor
|
||||
--import Data.Function
|
||||
--import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
--import qualified Data.Map as M
|
||||
--import qualified Data.Set as S
|
||||
import Graphics.Rendering.OpenGL hiding (color,scale,translate,rotate)
|
||||
@@ -60,7 +60,7 @@ doDrawing pdata w = do
|
||||
-- poke foreground geometry and floor
|
||||
let addC (xx,yy) = (xx,yy,0)
|
||||
nsurfVs <- F.foldM (pokeShader (_lightingSurfaceShader pdata))
|
||||
$ (Render3 $ polyToTris $ map addC $ screenPolygon w)
|
||||
$ Render3 (polyToTris $ map addC $ screenPolygon w)
|
||||
: concatMap polyToGeoRender (foregroundPics w)
|
||||
-- bind wall points, silhouette data, surface geometry
|
||||
uncurry bindShaderBuffers $ unzip
|
||||
@@ -80,19 +80,27 @@ doDrawing pdata w = do
|
||||
--_ <- renderFoldable pdata $ (picToAlt (Just 0) (polysToPic $ foregroundPics w) :: [RenderType])
|
||||
--_ <- renderFoldable pdata $ (picToAlt (Just 0) pic :: [RenderType])
|
||||
_ <- renderFoldable pdata $ map snd (polysToPic $ foregroundPics w)
|
||||
_ <- renderFoldable pdata $ map snd $ filter ((==0).fst) pic
|
||||
|
||||
--_ <- renderFoldable pdata $ map snd $ filter ((==0).fst) pic
|
||||
vnums <- pokeBindFoldableLayer pdata $ pic
|
||||
mapM_ (uncurry $ drawShaderLay 0) (vnums IM.! 0)
|
||||
|
||||
_ <- renderShader (_textureArrayShader pdata) (_floorTiles w)
|
||||
|
||||
bindFramebuffer Framebuffer $= fst (_fboBloom pdata)
|
||||
clear [ColorBuffer]
|
||||
blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
|
||||
_ <- renderFoldable pdata $ map snd $ filter ((==1).fst) pic
|
||||
--_ <- renderFoldable pdata $ map snd $ filter ((==1).fst) pic
|
||||
mapM_ (uncurry $ drawShaderLay 1) (vnums IM.! 1)
|
||||
bindFramebuffer Framebuffer $= fst (_fboColor pdata)
|
||||
clear [ColorBuffer]
|
||||
depthMask $= Disabled
|
||||
_ <- 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)
|
||||
--_ <- renderFoldable pdata $ map snd $ filter ((==3).fst) pic
|
||||
--_ <- renderFoldable pdata $ map snd $ filter ((==4).fst) pic
|
||||
--_ <- renderFoldable pdata $ map snd $ filter ((==5).fst) pic
|
||||
|
||||
depthMask $= Enabled
|
||||
bindFramebuffer Framebuffer $= fst (_fboFourth1 pdata)
|
||||
@@ -135,7 +143,8 @@ doDrawing pdata w = do
|
||||
drawShader (_fullscreenShader pdata) 4
|
||||
|
||||
depthFunc $= Just Lequal
|
||||
_ <- renderFoldable pdata $ map snd $ filter ((==2).fst) pic
|
||||
--_ <- renderFoldable pdata $ map snd $ filter ((==2).fst) pic
|
||||
mapM_ (uncurry $ drawShaderLay 2) (vnums IM.! 2)
|
||||
renderWindows pdata windowPoints
|
||||
|
||||
depthFunc $= Just Always
|
||||
|
||||
Reference in New Issue
Block a user