Allow tweaking z buffer when rendering polygon, improve explosion render
This commit is contained in:
@@ -45,6 +45,7 @@ preloadRender = do
|
||||
bezierQuadShader <- makeShader "twoD/bezierQuad" [vert,frag] [3,4,4] ETriangleStrip pokeBezQStrat
|
||||
cslist <- makeShader "twoD/character" [vert,frag] [3,4,2] ETriangles pokeCharStrat
|
||||
>>= addTexture "data/texture/charMap.png"
|
||||
basicTweakZShad <- makeShader "twoD/basicTweakZ" [vert,frag] [4,4] ETriangles pokeTriTweakZ
|
||||
-- texture shaders, no textures attached
|
||||
fsShad <- makeShader "texture/simple" [vert,frag] [2,2] ETriangleStrip $ const cornerList
|
||||
-- note we directly poke the shader vertex data here
|
||||
@@ -75,7 +76,8 @@ preloadRender = do
|
||||
clearColor $= Color4 0 0 0 1
|
||||
|
||||
return $ RenderData
|
||||
{ _pictureShaders = [bslist,lslist,cslist,aslist,eslist,bezierQuadShader]
|
||||
{ _pictureShaders =
|
||||
[bslist,lslist,cslist,aslist,eslist,bezierQuadShader,basicTweakZShad]
|
||||
, _lightingSurfaceShader = lightingSurfaceShad
|
||||
, _lightingLineShadowShader = lightingLineShadowShad
|
||||
, _lightingOccludeShader = wsShad
|
||||
@@ -160,6 +162,11 @@ pokeBezQStrat (RenderBezQ vs) = fmap (\((x,y,z),(r,g,b,a),(s,t,u,v)) -> [x,y,z,r
|
||||
vs
|
||||
pokeBezQStrat _ = []
|
||||
|
||||
|
||||
pokeTriTweakZ :: RenderType -> [[Float]]
|
||||
pokeTriTweakZ (RenderPolyZ vs) = fmap (\(p,co,z) -> flat3 p ++ [z] ++ flat4 co) vs
|
||||
pokeTriTweakZ _ = []
|
||||
|
||||
{-# INLINE pokeTriStrat #-}
|
||||
pokeTriStrat,pokeCharStrat,pokeArcStrat,pokeLineStrat,pokeEllStrat :: RenderType -> [[Float]]
|
||||
pokeTriStrat (RenderPoly vs) = fmap (\(p,co) -> flat3 p ++ flat4 co) vs
|
||||
|
||||
Reference in New Issue
Block a user