Fix tile depth
This commit is contained in:
@@ -10,6 +10,7 @@ data RenderData = RenderData
|
|||||||
{ _lightingFloorShader :: FullShader
|
{ _lightingFloorShader :: FullShader
|
||||||
, _lightingOccludeShader :: FullShader
|
, _lightingOccludeShader :: FullShader
|
||||||
, _lightingWallShader :: FullShader
|
, _lightingWallShader :: FullShader
|
||||||
|
, _lightingSurfaceShader :: FullShader
|
||||||
, _wallBlankShader :: FullShader
|
, _wallBlankShader :: FullShader
|
||||||
, _wallTextureShader :: FullShader
|
, _wallTextureShader :: FullShader
|
||||||
, _textureShader :: FullShader
|
, _textureShader :: FullShader
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ data RenderType
|
|||||||
| RenderArc [(Point3,Point4,Point3)]
|
| RenderArc [(Point3,Point4,Point3)]
|
||||||
| RenderLine [(Point3,Point4)]
|
| RenderLine [(Point3,Point4)]
|
||||||
| RenderEllipse [(Point3,Point4)]
|
| RenderEllipse [(Point3,Point4)]
|
||||||
|
| Render3 [Point3]
|
||||||
| RenderConst
|
| RenderConst
|
||||||
| Render1111 {_unRender1111 :: (Float,Float,Float,Float)}
|
| Render1111 {_unRender1111 :: (Float,Float,Float,Float)}
|
||||||
| Render22 {_unRender22 :: (Point2,Point2)}
|
| Render22 {_unRender22 :: (Point2,Point2)}
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ preloadRender = do
|
|||||||
wlLightShad
|
wlLightShad
|
||||||
<- makeShader "lighting/wall" [vert,geom,frag] [4] Points pokeWPStrat
|
<- makeShader "lighting/wall" [vert,geom,frag] [4] Points pokeWPStrat
|
||||||
>>= addUniforms ["lightPos","radLum"]
|
>>= addUniforms ["lightPos","radLum"]
|
||||||
|
lightingSurfaceShad
|
||||||
|
<- makeShader "lighting/surface" [vert,frag] [3] Points poke3
|
||||||
|
>>= addUniforms ["lightPos","radLum"]
|
||||||
-- 2D draw shaders
|
-- 2D draw shaders
|
||||||
bslist <- makeShader "twoD/basic" [vert,frag] [3,4] Triangles pokeTriStrat
|
bslist <- makeShader "twoD/basic" [vert,frag] [3,4] Triangles pokeTriStrat
|
||||||
lslist <- makeShader "twoD/basic" [vert,frag] [3,4] Lines pokeLineStrat
|
lslist <- makeShader "twoD/basic" [vert,frag] [3,4] Lines pokeLineStrat
|
||||||
@@ -72,6 +75,7 @@ preloadRender = do
|
|||||||
|
|
||||||
return $ RenderData
|
return $ RenderData
|
||||||
{ _pictureShaders = [bslist,lslist,cslist,aslist,eslist,bezierQuadShader]
|
{ _pictureShaders = [bslist,lslist,cslist,aslist,eslist,bezierQuadShader]
|
||||||
|
, _lightingSurfaceShader = lightingSurfaceShad
|
||||||
, _lightingFloorShader = lightingFloorShad
|
, _lightingFloorShader = lightingFloorShad
|
||||||
, _lightingOccludeShader = wsShad
|
, _lightingOccludeShader = wsShad
|
||||||
, _lightingWallShader = wlLightShad
|
, _lightingWallShader = wlLightShad
|
||||||
@@ -182,6 +186,10 @@ vert = VertexShader
|
|||||||
geom = GeometryShader
|
geom = GeometryShader
|
||||||
frag = FragmentShader
|
frag = FragmentShader
|
||||||
|
|
||||||
|
poke3 :: RenderType -> [[Float]]
|
||||||
|
poke3 (Render3 vs) = map flat3 vs
|
||||||
|
poke3 _ = undefined
|
||||||
|
|
||||||
pokeWPStrat :: RenderType -> [[Float]]
|
pokeWPStrat :: RenderType -> [[Float]]
|
||||||
pokeWPStrat Render22{_unRender22 = ((x,y),(z,w))} = [[x,y,z,w]]
|
pokeWPStrat Render22{_unRender22 = ((x,y),(z,w))} = [[x,y,z,w]]
|
||||||
pokeWPStrat _ = undefined
|
pokeWPStrat _ = undefined
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ tToRender t = map Render3x3 $ polyToTris $ zip ps3 coords3
|
|||||||
where
|
where
|
||||||
ps = _tilePoly t
|
ps = _tilePoly t
|
||||||
coords = map (calcTexCoord (_tileCenter t) (_tileX t) (_tileY t)) ps
|
coords = map (calcTexCoord (_tileCenter t) (_tileX t) (_tileY t)) ps
|
||||||
ps3 = map (mkTrip 0.9) ps
|
ps3 = map (mkTrip 0.1) ps
|
||||||
coords3 = map (mkTrip (_tileZ t)) coords
|
coords3 = map (mkTrip (_tileZ t)) coords
|
||||||
|
|
||||||
mkTrip :: c -> (a,b) -> (a,b,c)
|
mkTrip :: c -> (a,b) -> (a,b,c)
|
||||||
|
|||||||
Reference in New Issue
Block a user