Cleanup warnings
This commit is contained in:
+22
-22
@@ -8,29 +8,29 @@ module Dodge.Render
|
||||
import Dodge.Data
|
||||
import Dodge.Config.Data
|
||||
import Dodge.Base
|
||||
import Dodge.Render.HUD
|
||||
import Dodge.Render.MenuScreen
|
||||
--import Dodge.Render.HUD
|
||||
--import Dodge.Render.MenuScreen
|
||||
import Dodge.Render.Picture
|
||||
import Dodge.Render.PerspectiveMatrix
|
||||
import Geometry
|
||||
import Picture
|
||||
--import Picture
|
||||
import Picture.Render
|
||||
import Picture.Preload
|
||||
import Shader
|
||||
|
||||
import Foreign (Word32)
|
||||
import Control.Applicative
|
||||
import Control.Monad.State
|
||||
--import Control.Applicative
|
||||
--import Control.Monad.State
|
||||
import Control.Lens
|
||||
import qualified Control.Foldl as F
|
||||
import Data.Tuple.Extra
|
||||
import Data.Maybe
|
||||
import Data.List
|
||||
import Data.Bifunctor
|
||||
import Data.Function
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.Map as M
|
||||
import qualified Data.Set as S
|
||||
--import Data.List
|
||||
--import Data.Bifunctor
|
||||
--import Data.Function
|
||||
--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)
|
||||
import qualified SDL
|
||||
|
||||
@@ -43,9 +43,9 @@ doDrawing pdata w = do
|
||||
sTicks <- SDL.ticks
|
||||
clear [ColorBuffer,DepthBuffer]
|
||||
let rot = _cameraRot w
|
||||
zoom = _cameraZoom w
|
||||
trans@(tranx,trany) = _cameraCenter w
|
||||
wins@(winx,winy) = (getWindowX w,getWindowY w)
|
||||
camzoom = _cameraZoom w
|
||||
trans = _cameraCenter w
|
||||
wins = (getWindowX w,getWindowY w)
|
||||
wallPointsCol = wallsPointsAndCols w
|
||||
windowPoints = wallsWindows w
|
||||
lightPoints = lightsForGloom' w
|
||||
@@ -53,16 +53,16 @@ doDrawing pdata w = do
|
||||
pic = worldPictures w
|
||||
wallPoints = map fst wallPointsCol
|
||||
-- set the coordinate uniforms ready for drawing elements with using world coordinates
|
||||
setCommonUniforms pdata rot zoom trans wins
|
||||
setCommonUniforms pdata rot camzoom trans wins
|
||||
depthFunc $= Just Less
|
||||
pmat <- (newMatrix RowMajor $ perspectiveMatrix rot zoom trans wins viewFroms)
|
||||
pmat <- (newMatrix RowMajor $ perspectiveMatrix rot camzoom trans wins viewFroms)
|
||||
:: IO (GLmatrix GLfloat)
|
||||
-- draw the lightmap. Probably changes the bound framebufferObject
|
||||
createLightMap pdata (w ^. config . shadow_resolution) wallPoints lightPoints viewFroms pmat
|
||||
-- draw the background. Assumes that depth testing is not enabled or that
|
||||
-- the depth buffer is ready to be drawn on
|
||||
blendFuncSeparate $= ((SrcAlphaSaturate, OneMinusSrcAlpha), (Zero,One))
|
||||
renderBackground pdata rot zoom trans wins
|
||||
renderBackground pdata rot camzoom trans wins
|
||||
-- draw the walls
|
||||
depthFunc $= Just Less
|
||||
if w ^. config . wall_textured
|
||||
@@ -70,20 +70,20 @@ doDrawing pdata w = do
|
||||
else renderBlankWalls pdata wallPointsCol pmat
|
||||
-- I believe a more apt name would be setCeilingDepth: stops drawing of objects
|
||||
-- at points that are behind the extension of walls to the screen edge
|
||||
setWallDepth pdata wallPoints (viewFromx,viewFromy) pmat
|
||||
_ <- setWallDepth pdata wallPoints (viewFromx,viewFromy) pmat
|
||||
-- draw the first layer of pictures
|
||||
-- these will probably all be opaque
|
||||
renderFoldable pdata $ picToLTree (Just 0) pic
|
||||
_ <- renderFoldable pdata $ picToLTree (Just 0) pic
|
||||
-- reset blend so that light map doesn't apply
|
||||
-- useful for drawing vivid projectiles
|
||||
blendFuncSeparate $= ((SrcAlpha,OneMinusSrcAlpha) , (Zero,One))
|
||||
depthFunc $= Just Lequal
|
||||
renderFoldable pdata $ picToLTree (Just 1) pic
|
||||
_ <- renderFoldable pdata $ picToLTree (Just 1) pic
|
||||
-- reset blend so that light map applies again
|
||||
-- allows us to be certain these elements are drawn on top of those before,
|
||||
-- in case we want transparency effects
|
||||
blendFuncSeparate $= ((SrcAlphaSaturate, OneMinusSrcAlpha), (Zero,One))
|
||||
renderFoldable pdata $ picToLTree (Just 2) pic
|
||||
_ <- renderFoldable pdata $ picToLTree (Just 2) pic
|
||||
depthMask $= Disabled
|
||||
-- render transparent walls
|
||||
-- the ordering between these and transparent clouds perhaps presents a challenge
|
||||
@@ -111,7 +111,7 @@ doDrawing pdata w = do
|
||||
-- coordinates
|
||||
resetShaderUniforms (map extractProgAndUnis $ _pictureShaders pdata)
|
||||
blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
|
||||
renderFoldable pdata (picToLTree Nothing $ fixedCoordPictures w)
|
||||
_ <- renderFoldable pdata (picToLTree Nothing $ fixedCoordPictures w)
|
||||
eTicks <- SDL.ticks
|
||||
return (eTicks - sTicks)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user