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