Add spawner gun
This commit is contained in:
+4
-10
@@ -33,25 +33,22 @@ import qualified SDL as SDL
|
||||
|
||||
renderPicture' :: RenderData -> Float -> Float -> Point2 -> Point2 ->
|
||||
[((Point2,Point2),Point4)] -> [((Point2,Point2),Point4)] -> [Point4] ->
|
||||
(Float,Float) -> Picture -> IO (Word32,Word32)
|
||||
(Float,Float) -> Picture -> IO (Word32)
|
||||
renderPicture' pdata rot zoom trans@(tranx,trany) wins@(winx,winy) wallPointsCol windowPoints lightPoints
|
||||
viewFroms@(viewFromx,viewFromy) pic = do
|
||||
let wallPoints = map fst wallPointsCol
|
||||
startTicks <- SDL.ticks
|
||||
let wallPoints = map fst wallPointsCol
|
||||
|
||||
setCommonUniforms pdata rot zoom trans wins
|
||||
|
||||
depthFunc $= Just Less
|
||||
|
||||
-- calculate perspective matrix
|
||||
pmat <- (newMatrix RowMajor
|
||||
$ perspectiveMatrix rot zoom (tranx,trany) (winx,winy) (viewFromx,viewFromy)
|
||||
) :: IO (GLmatrix GLfloat)
|
||||
|
||||
createLightMap pdata rot zoom trans wins wallPoints lightPoints viewFroms pmat
|
||||
|
||||
ticksAfterLighting <- SDL.ticks
|
||||
|
||||
renderBackground pdata rot zoom trans wins
|
||||
|
||||
renderWalls pdata wallPointsCol pmat
|
||||
@@ -65,6 +62,7 @@ renderPicture' pdata rot zoom trans@(tranx,trany) wins@(winx,winy) wallPointsCol
|
||||
-- reset blend so that light map doesn't apply
|
||||
-- blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
|
||||
blendFuncSeparate $= ((SrcAlpha,OneMinusSrcAlpha) , (Zero,One))
|
||||
-- blendFunc $= (SrcAlpha,OneMinusSrcAlpha)
|
||||
renderFoldable pdata $ picToLTree (Just 1) pic
|
||||
|
||||
-- set drawing for on top
|
||||
@@ -78,7 +76,7 @@ renderPicture' pdata rot zoom trans@(tranx,trany) wins@(winx,winy) wallPointsCol
|
||||
|
||||
resetShaderUniforms (map extractProgAndUnis $ _listShaders pdata)
|
||||
endTicks <- SDL.ticks
|
||||
return (ticksAfterLighting, endTicks - startTicks)
|
||||
return (endTicks - startTicks)
|
||||
|
||||
renderWalls :: RenderData -> [((Point2,Point2),Point4)] -> GLmatrix GLfloat -> IO ()
|
||||
renderWalls pdata wps pmat = do
|
||||
@@ -190,15 +188,11 @@ createLightMap pdata rot zoom (tranx,trany) (winx,winy) wallPoints lightPoints
|
||||
|
||||
blend $= Disabled
|
||||
|
||||
-- blendFunc $= (Zero,One)
|
||||
bindFramebuffer Framebuffer $= defaultFramebufferObject
|
||||
|
||||
colorMask $= (Color4 Disabled Disabled Disabled Enabled)
|
||||
--
|
||||
-- blendFunc $= (SrcAlpha, OneMinusSrcAlpha)
|
||||
bindShaderBuffers [_fullscreenShader pdata] [4]
|
||||
textureBinding Texture2D $= Just (_fboTexture pdata)
|
||||
-- blendFunc $= (One, Zero)
|
||||
drawShader (_fullscreenShader pdata) 4
|
||||
|
||||
colorMask $= (Color4 Enabled Enabled Enabled Enabled)
|
||||
|
||||
Reference in New Issue
Block a user