diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2022-10-02 21:47:13 +0200 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-10-02 21:47:13 +0200 |
| commit | c8aa44e6b9543f5d90a02bc878d88ea07a747d78 (patch) | |
| tree | bbf4b367e89d005fc97d01ba5348b7cd8493def7 /floor-mesh.cpp | |
| parent | fb9ee17767d7d1e06f3cfa3b8cbc3956d081c118 (diff) | |
a
Diffstat (limited to 'floor-mesh.cpp')
| -rw-r--r-- | floor-mesh.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/floor-mesh.cpp b/floor-mesh.cpp index 0886dc34..82a2c61f 100644 --- a/floor-mesh.cpp +++ b/floor-mesh.cpp @@ -25,14 +25,16 @@ void floor_mesh::set_tile(quad_data& data, tile& x) void floor_mesh::draw(tile_shader& shader, chunk& c) { + constexpr auto quad_index_count = _index_data[0].size(); std::array<quad_data, TILE_COUNT> data; c.foreach_tile([&](tile& x, std::size_t idx, local_coords) { set_tile(data[idx], x); }); - _vertex_buffer.setData(data, Magnum::GL::BufferUsage::DynamicDraw); + //_vertex_buffer.setData(data, Magnum::GL::BufferUsage::DynamicDraw); + _vertex_buffer.setSubData(0, Containers::arrayView(data.data(), data.size())); Magnum::GL::MeshView mesh{_mesh}; mesh.setCount(quad_index_count); - tile_atlas* last_tile_atlas = nullptr; + const tile_atlas* last_tile_atlas = nullptr; c.foreach_tile([&](tile& x, std::size_t i, local_coords) { mesh.setIndexRange((int)(i*quad_index_count), 0, quad_index_count*TILE_COUNT - 1); if (auto* atlas = x.ground_image.atlas.get(); atlas != last_tile_atlas) |
