diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-09-07 10:02:05 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-09-07 10:02:05 +0200 |
commit | 8d331c1c58b44e3ad3578be8e0ef2815287adc4b (patch) | |
tree | bf4eea13579109f8c3f7f2379d98ebc3b6c75e22 | |
parent | 100f35c5129b28c12aa776b5664a9e29f1f551bf (diff) |
extend hack to fix ground clipping at chunk boundary
-rw-r--r-- | shaders/shader.hpp | 2 | ||||
-rw-r--r-- | src/chunk-render.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/shaders/shader.hpp b/shaders/shader.hpp index bd0f5884..c163b1dc 100644 --- a/shaders/shader.hpp +++ b/shaders/shader.hpp @@ -42,7 +42,7 @@ struct tile_shader final : private GL::AbstractShaderProgram static constexpr Vector2s max_screen_tiles = {8, 8}; static constexpr float character_depth_offset = 1 + 1./64; static constexpr float scenery_depth_offset = 1 + 1./64; - static constexpr float ground_depth_offset = 0; // todo scenery cut off at chunk boundary + static constexpr float ground_depth_offset = 0; static constexpr float wall_depth_offset = 1; static constexpr float z_depth_offset = 1 + 2./64; static constexpr float depth_tile_size = 1.f/(TILE_MAX_DIM * 2 * max_screen_tiles.product()); diff --git a/src/chunk-render.cpp b/src/chunk-render.cpp index c163fd4d..c72deca8 100644 --- a/src/chunk-render.cpp +++ b/src/chunk-render.cpp @@ -48,7 +48,7 @@ auto chunk::ensure_ground_mesh() noexcept -> ground_mesh_tuple return _ground->_ground_atlases[a] < _ground->_ground_atlases[b]; }); - float hack_offset = _coord.z == 0 ? -1 : 0; + float hack_offset = _coord.z <= 0 ? -16 : 0; std::array<std::array<vertex, 4>, TILE_COUNT> vertexes; for (auto k = 0uz; k < count; k++) |