maplibre/render/systems/
upload_system.rs1use crate::{
3 context::MapContext,
4 render::{
5 eventually::{Eventually, Eventually::Initialized},
6 tile_view_pattern::WgpuTileViewPattern,
7 Renderer,
8 },
9 tcs::system::{SystemError, SystemResult},
10};
11
12pub fn upload_system(
13 MapContext {
14 world,
15 view_state,
16 renderer: Renderer { queue, .. },
17 ..
18 }: &mut MapContext,
19) -> SystemResult {
20 let Some(Initialized(tile_view_pattern)) = world
21 .resources
22 .query_mut::<&mut Eventually<WgpuTileViewPattern>>()
23 else {
24 return Err(SystemError::Dependencies);
25 };
26
27 let view_proj = view_state.view_projection();
28 tile_view_pattern.upload_pattern(
29 queue,
30 &view_proj,
31 view_state.width() as f32,
32 view_state.height() as f32,
33 );
34
35 Ok(())
36}