summaryrefslogtreecommitdiffhomepage
path: root/shaders/tile.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-04-14 12:53:00 +0200
committerStanislaw Halik <sthalik@misaki.pl>2023-04-14 12:53:00 +0200
commit879c76e8fc1c6aa4e23fe0b5ed7ac62e6b1caeb4 (patch)
treeca2d5ba5e99c878144941be1bb3b04507058d0df /shaders/tile.cpp
parentf5c387da470ae43a2c8aff75b419e784c8bb3bc5 (diff)
renders almost correctly
Can't be done any better without using topo sort (which means full vbo uploads each frame).
Diffstat (limited to 'shaders/tile.cpp')
-rw-r--r--shaders/tile.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/shaders/tile.cpp b/shaders/tile.cpp
index 9c347021..c8defb43 100644
--- a/shaders/tile.cpp
+++ b/shaders/tile.cpp
@@ -78,8 +78,11 @@ float tile_shader::depth_value(const local_coords& xy, float offset) noexcept
return ((float)xy.x + (float)xy.y + offset) * depth_tile_size;
}
-const float tile_shader::scenery_depth_offset = 1./64;
-const float tile_shader::wall_depth_offset = 0;
-const float tile_shader::z_depth_offset = 1e-4f;
+const Vector2s tile_shader::max_screen_tiles = {8, 8};
+const float tile_shader::character_depth_offset = 1 + 4./64;
+const float tile_shader::scenery_depth_offset = 1 + 4./64;
+const float tile_shader::wall_depth_offset = 1;
+const float tile_shader::z_depth_offset = 1./64;
+const float tile_shader::depth_tile_size = 1/(double)(TILE_MAX_DIM * 2 * max_screen_tiles.product());
} // namespace floormat