1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

//! GPU-accelerated tilemap functionality for bevy.
//! Aims at rendering tilemaps with lightning speed by using just a single quad per map (layer)
//! and offloading the actual rendering to GPU.
//! This should be faster than most other bevy tilemap implementations as of this writing.
//!
//! ## Features
//! 
//! - Very high rendering performance.
//! - Tilemaps can be very large or have many "layers"
//! - Rectangular and isometric tile maps.
//! 
//! ## How it works
//! 
//! The principle is probably not new but nonetheless quite helpful: The whole tilemap (-layer) is
//! rendered as a single quad and a shader cares for rendering the correct tiles at the correct
//! position.

pub mod map;
pub mod map_uniform;
pub mod map_builder;
pub mod bundle;
pub mod plugin;
pub mod pipeline;
pub mod shader;
pub mod extract;
pub mod prepare;
pub mod queue;
pub mod tile_projection;

pub mod prelude {
    pub use crate::bundle::MapBundle;
    pub use crate::map::{Map, MapIndexer, MapReadyEvent, MeshManagedByMap};
    pub use crate::plugin::FastTileMapPlugin;
    pub use crate::tile_projection::{TileProjection, IDENTITY, AXONOMETRIC};
}

pub use crate::bundle::MapBundle;
pub use crate::map::{Map, MapIndexer, MapReadyEvent, MeshManagedByMap};
pub use crate::plugin::FastTileMapPlugin;
pub use crate::tile_projection::{TileProjection, IDENTITY, AXONOMETRIC};