General cleanup
This commit is contained in:
@@ -33,6 +33,16 @@ data NumShadowCasters
|
||||
| NumLight18
|
||||
| NumLight19
|
||||
| NumLight20
|
||||
| NumLight21
|
||||
| NumLight22
|
||||
| NumLight23
|
||||
| NumLight24
|
||||
| NumLight25
|
||||
| NumLight26
|
||||
| NumLight27
|
||||
| NumLight28
|
||||
| NumLight29
|
||||
| NumLight30
|
||||
deriving (Show,Eq,Bounded,Ord,Enum)
|
||||
|
||||
data Config = Config
|
||||
|
||||
+1
-19
@@ -138,14 +138,7 @@ doDrawing' win pdata u = do
|
||||
--draw walls onto base buffer
|
||||
glEnable GL_CULL_FACE
|
||||
glCullFace GL_BACK
|
||||
-- glUseProgram (pdata ^. wallShader . shaderUINT)
|
||||
-- glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName
|
||||
-- glDrawArrays
|
||||
-- (_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive)
|
||||
-- 0
|
||||
-- (fromIntegral trueNWalls)
|
||||
glUseProgram (pdata ^. pullWallShader)
|
||||
--glBindVertexArray $ pdata ^. dummyVAO . vaoName
|
||||
glDrawArrays GL_TRIANGLES 0 (fromIntegral trueNWalls * 6)
|
||||
--draw object shapes onto base buffer
|
||||
let fs = _shapeShader pdata
|
||||
@@ -157,11 +150,7 @@ doDrawing' win pdata u = do
|
||||
glDepthMask GL_FALSE
|
||||
glDrawBuffer GL_NONE
|
||||
glStencilOp GL_KEEP GL_KEEP GL_INCR
|
||||
with 0 $
|
||||
glClearNamedFramebufferiv
|
||||
(pdata ^. fboBase . _1 . unFBO)
|
||||
GL_STENCIL
|
||||
0
|
||||
with 0 $ glClearNamedFramebufferiv (pdata ^. fboBase . _1 . unFBO) GL_STENCIL 0
|
||||
glDrawArrays
|
||||
(_unPrimitiveMode $ pdata ^. chasmShader . shaderPrimitive)
|
||||
0
|
||||
@@ -295,12 +284,6 @@ doDrawing' win pdata u = do
|
||||
glUseProgram (pdata ^. cloudShader)
|
||||
-- glDepthMask GL_TRUE
|
||||
glDrawArrays GL_TRIANGLES 0 (fromIntegral nCloudVs * 6)
|
||||
--glDrawArrays GL_TRIANGLES 0 6
|
||||
----glDrawElements
|
||||
---- (pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode)
|
||||
---- (fromIntegral nCloudIs)
|
||||
---- GL_UNSIGNED_INT
|
||||
---- nullPtr
|
||||
---
|
||||
-- glEnable GL_CULL_FACE
|
||||
-- glEnable GL_DEPTH_CLAMP
|
||||
@@ -382,7 +365,6 @@ doDrawing' win pdata u = do
|
||||
glBindTextureUnit 0 (pdata ^. fboWindow . _2 . _1 . unTO)
|
||||
glBindTextureUnit 1 (pdata ^. fboWindow . _2 . _2 . unTO)
|
||||
glBindTextureUnit 2 (pdata ^. fboCloud . _2 . _1 . unTO)
|
||||
--glBindTextureUnit 3 (pdata ^. fboCloud . _2 . _2 . unTO)
|
||||
glBindTextureUnit 3 (pdata ^. fboPos . _2 . unTO)
|
||||
|
||||
--drawShader (_transparencyCompShader pdata) 4
|
||||
|
||||
+1
-1
@@ -221,7 +221,7 @@ drawText :: Float -> String -> [Verx]
|
||||
{-# INLINE drawText #-}
|
||||
drawText gap = map f . stringToList gap
|
||||
where
|
||||
f (pos, col, V3 a b c) = Verx pos col [a, b, c, 1] minBound TextShad
|
||||
f (pos, col, V3 a b c) = Verx pos col [a, b, c] minBound TextShad
|
||||
|
||||
line :: [Point2] -> Picture
|
||||
{-# INLINE line #-}
|
||||
|
||||
@@ -18,8 +18,6 @@ data Verx = Verx
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Layer
|
||||
-- = BottomLayer
|
||||
-- | MidLayer
|
||||
= BloomLayer
|
||||
| BloomNoZWrite
|
||||
| DebugLayer
|
||||
|
||||
@@ -108,7 +108,8 @@ preloadRender = do
|
||||
aslist <- makeShaderVBO "dualTwoD/arc" [vert, frag] (toFloatVAs [3, 4, 3]) pmTriangles
|
||||
eslist <- makeShaderVBO "dualTwoD/ellipse" [vert, geom, frag] (toFloatVAs [3, 4]) pmTriangles
|
||||
cslist <-
|
||||
makeShaderVBO "picture/charArray" [vert, frag] (toFloatVAs [3, 4, 4]) pmTriangles
|
||||
--makeShaderVBO "picture/charArray" [vert, frag] (toFloatVAs [3, 4, 4]) pmTriangles
|
||||
makeShaderVBO "picture/charArray" [vert, frag] (toFloatVAs [3, 4, 3]) pmTriangles
|
||||
shadV <- MV.new 4
|
||||
zipWithM_
|
||||
(MV.write shadV)
|
||||
@@ -121,7 +122,6 @@ preloadRender = do
|
||||
-- GL_NEAREST_MIPMAP_LINEAR GL_LINEAR ?
|
||||
initTexture2DArray 50 "data/charMaps/cMap16x32.Custom.png" 2 16 32 256 GL_NEAREST GL_NEAREST
|
||||
putStrLn "Setup full screen shaders"
|
||||
-- (_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList)
|
||||
alphadivideshader <- makeSourcedShader "texture2D/alphaDivide" [vert, frag]
|
||||
fsShad <- makeSourcedShader "texture/simple" [vert, frag]
|
||||
transcompshader <- makeSourcedShader "fullscreen/transparencyComp" [vert, frag]
|
||||
|
||||
+1
-2
@@ -135,12 +135,11 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
||||
glDepthMask GL_FALSE
|
||||
-- clearColor is specified differently in preloadRender
|
||||
-- the colors are inverted
|
||||
withArray [1, 1, 1, 1] $ \ptr ->
|
||||
withArray [1, 1, 1, 1] $
|
||||
glClearNamedFramebufferfv
|
||||
(pdata ^. fboLighting . _1 . unFBO)
|
||||
GL_COLOR
|
||||
0
|
||||
ptr
|
||||
-- setup stencil and blending
|
||||
glBlendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
|
||||
glStencilOpSeparate GL_FRONT GL_KEEP GL_KEEP GL_INCR_WRAP
|
||||
|
||||
+2
-2
@@ -29,13 +29,13 @@ bufferEBO :: UintBO -> Int -> IO ()
|
||||
bufferEBO x i =
|
||||
glNamedBufferSubData (x ^. uiboName) 0 (fromIntegral $ gluintSize * i) (x ^. uiboPtr)
|
||||
|
||||
bufferShaderLayers :: MV.MVector (PrimState IO) (Shader, VBO) -> UMV.MVector (PrimState IO) Int -> IO ()
|
||||
bufferShaderLayers
|
||||
:: MV.MVector (PrimState IO) (Shader, VBO) -> UMV.MVector (PrimState IO) Int -> IO ()
|
||||
bufferShaderLayers shads counts = MV.imapM_ f shads
|
||||
where
|
||||
f i shad = do
|
||||
let theVBO = snd shad
|
||||
stride = _vboVertexBytes theVBO `div` floatSize
|
||||
--VFSM.mapM_ (g stride theVBO) $ VFSM.enumFromStepN 0 1 6 -- [0..5]
|
||||
VFSM.mapM_ (g stride theVBO) $ VFSM.enumFromStepN 0 1 numLayers -- [0..5]
|
||||
where
|
||||
g stride theVBO lay = do
|
||||
|
||||
+9
-6
@@ -237,15 +237,13 @@ pokeBox ::
|
||||
IO (Int, Int, Int)
|
||||
{-# INLINE pokeBox #-}
|
||||
pokeBox sfid col size ptr iptr ieptr (nv, nsi, nei) svs = do
|
||||
nv' <- VFSM.foldM' (pokeBoxSurface xdata col ptr svsv) nv $ VFSM.fromList $ memoBoxSurfaces V.! size
|
||||
-- nv' <- VFSM.foldM' (pokeBoxSurface xdata col ptr svsv) nv $ VFSM.fromList $ boxSurfaces size
|
||||
nv' <- VFSM.foldM' (pokeBoxSurface xdata col ptr svsv) nv
|
||||
$ VFSM.fromList $ memoBoxSurfaces V.! size
|
||||
nsi' <-
|
||||
UV.foldM'
|
||||
(pokeIndex nv iptr)
|
||||
nsi
|
||||
(memoFlatIndices V.! (size -3))
|
||||
-- VFSM.foldM' (pokeIndex nv iptr) nsi
|
||||
-- (VFSM.fromList . concatMap polyToTris $ boxSurfacesIndices size)
|
||||
nei' <-
|
||||
if sfid
|
||||
then return nei
|
||||
@@ -476,7 +474,11 @@ pokeLayVerxs ::
|
||||
IO ()
|
||||
pokeLayVerxs vbos counts = VFSM.mapM_ (pokeLayVerx vbos counts) . VFSM.fromList
|
||||
|
||||
pokeLayVerx :: MV.MVector (PrimState IO) (Shader, VBO) -> UMV.MVector (PrimState IO) Int -> Verx -> IO ()
|
||||
pokeLayVerx
|
||||
:: MV.MVector (PrimState IO) (Shader, VBO)
|
||||
-> UMV.MVector (PrimState IO) Int
|
||||
-> Verx
|
||||
-> IO ()
|
||||
{-# INLINE pokeLayVerx #-}
|
||||
pokeLayVerx vbos counts vx = do
|
||||
theOff <- UMV.unsafeRead counts vecPos
|
||||
@@ -498,7 +500,8 @@ pokeLayVerx vbos counts vx = do
|
||||
pokeStride :: ShadNum -> Int
|
||||
{-# INLINE pokeStride #-}
|
||||
pokeStride PolyShad = 7
|
||||
pokeStride TextShad = 11
|
||||
--pokeStride TextShad = 11
|
||||
pokeStride TextShad = 10
|
||||
pokeStride ArcShad = 10
|
||||
pokeStride EllShad = 7
|
||||
|
||||
|
||||
Reference in New Issue
Block a user