Crates.io | bevy_fast_tilemap |
lib.rs | bevy_fast_tilemap |
version | 0.8.1 |
source | src |
created_at | 2023-04-19 18:57:57.85195 |
updated_at | 2024-10-27 13:53:29.813102 |
description | A GPU accelerated tilemap for bevy |
homepage | |
repository | https://github.com/Droggelbecher/bevy-fast-tilemap |
max_upload_size | |
id | 843816 |
size | 4,010,503 |
Lightning fast tilemaps for bevy
.
Isometric perspective rendering.
Meshes don't have to be rectangles.
Tiles can use bigger textures and (through custom shader code) arbitrary boundary shapes.
Checkout screenshots/ for more.
The whole map is rendered as a single quad and a custom shader cares for rendering the correct tiles at the correct position.
This works by using a storage buffer with tile indices and a tilemap atlas with the tiles. With some clever sampling, tiles can overlap with correct perspective so a "tile" can actually be any isometric object. Bevy-fast-tilemap store the storage buffer in a special material which you can access and change (see examples/). The tilemap atlas should be provided by you (see assets/ for atlas examples).
As of this writing, this should be (much) faster than most other bevy tilemap implementations out there.
See Troubleshooting for common problems and their mitigations.
If you dont require all of bevy_fast_tilemap
s performance and are looking for an approach that
supports some more tile shapes and allows to treat each tile as a separate entity, take a look at
bevy_ecs_tilemap which (among others) inspired
this work.
Check out the examples/ folder to get an overview. You can run the examples like this:
cargo run --example bench
cargo run --example animation
cargo run --example iso_perspective
cargo run --example custom_shader_code
cargo run --example patterns
cargo run --example updates
...
bevy | bevy_fast_tilemap |
---|---|
0.10 | 0.1.0 - 0.4.0 |
0.11 | 0.5.0 |
0.12 | 0.6.0 |
0.13 | 0.7.0 - 0.7.6 |
0.14 | 0.8.0 |
0.14 | 0.8.1 |