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
mod batch;
mod layer;
mod layer_handle;
mod layer_stack;
use std::collections::HashMap;
use crate::graphics::{texture_atlas::TextureHandle, vertex::Vertex2d};
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct LayerHandle {
id: i64,
}
#[derive(Clone, Debug)]
pub struct Layer {
projection: nalgebra::Matrix4<f32>,
batches: Vec<Batch>,
}
pub struct LayerStack {
layers: HashMap<LayerHandle, Layer>,
render_order: Vec<LayerHandle>,
}
#[derive(Default, Clone, Debug)]
pub struct Batch {
pub texture_handle: TextureHandle,
pub vertices: Vec<Vertex2d>,
}