Fix tile depth

This commit is contained in:
jgk
2021-06-25 02:27:20 +02:00
parent b6feccd934
commit 2d0f08c2e9
4 changed files with 12 additions and 2 deletions
+2 -1
View File
@@ -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
+1
View File
@@ -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)}
+8
View File
@@ -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
View File
@@ -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)