Continue adding mutability
This commit is contained in:
+13
-10
@@ -38,6 +38,7 @@ import Control.Monad
|
||||
--import qualified Data.Set as S
|
||||
import Graphics.Rendering.OpenGL hiding (color,scale,translate,rotate)
|
||||
import qualified SDL
|
||||
import qualified Data.Vector.Unboxed.Mutable as UMV
|
||||
|
||||
doDrawing :: RenderData -> World -> IO Word32
|
||||
doDrawing pdata w = do
|
||||
@@ -76,11 +77,13 @@ doDrawing pdata w = do
|
||||
then renderTextureWalls pdata nWalls
|
||||
else renderBlankWalls pdata nWalls
|
||||
|
||||
_ <- renderFoldable pdata $ polysToPic $ foregroundPics w
|
||||
|
||||
vnums <- pokeBindFoldableLayer pdata $ worldPictures w
|
||||
let shads = _pictureShaders pdata
|
||||
renderLayer 0 shads vnums
|
||||
shadV <- picShadToMV $ _pictureShaders pdata
|
||||
renderFoldable shadV $ polysToPic $ foregroundPics w
|
||||
|
||||
layerCounts <- UMV.replicate (6*6) 0
|
||||
vnums <- pokeBindFoldableLayer shadV layerCounts $ worldPictures w
|
||||
renderLayer' 0 shadV layerCounts
|
||||
|
||||
nTextArrayVs <- pokePoint33s (shadVBOptr $ _textureArrayShader pdata) (_floorTiles w)
|
||||
bindShaderBuffers [_textureArrayShader pdata] [nTextArrayVs]
|
||||
@@ -90,14 +93,14 @@ doDrawing pdata w = do
|
||||
clear [ColorBuffer]
|
||||
blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
|
||||
|
||||
renderLayer 1 shads vnums
|
||||
renderLayer' 1 shadV layerCounts
|
||||
bindFramebuffer Framebuffer $= fst (_fboColor pdata)
|
||||
clear [ColorBuffer]
|
||||
depthMask $= Disabled
|
||||
|
||||
renderLayer 3 shads vnums
|
||||
renderLayer 4 shads vnums
|
||||
renderLayer 5 shads vnums
|
||||
renderLayer' 3 shadV layerCounts
|
||||
renderLayer' 4 shadV layerCounts
|
||||
renderLayer' 5 shadV layerCounts
|
||||
|
||||
depthMask $= Enabled
|
||||
bindFramebuffer Framebuffer $= fst (_fboFourth1 pdata)
|
||||
@@ -141,7 +144,7 @@ doDrawing pdata w = do
|
||||
|
||||
depthFunc $= Just Lequal
|
||||
--mapM_ (uncurry $ drawShaderLay 2) (vnums IM.! 2)
|
||||
renderLayer 2 shads vnums
|
||||
renderLayer' 2 shadV layerCounts
|
||||
renderWindows pdata windowPoints
|
||||
|
||||
depthFunc $= Just Always
|
||||
@@ -174,7 +177,7 @@ doDrawing pdata w = do
|
||||
blend $= Enabled
|
||||
blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
|
||||
|
||||
_ <- renderFoldable pdata $ fixedCoordPictures w
|
||||
renderFoldable shadV $ fixedCoordPictures w
|
||||
depthMask $= Enabled
|
||||
|
||||
eTicks <- SDL.ticks
|
||||
|
||||
Reference in New Issue
Block a user