crystal_api/gpu_sampler_set.rs
1use std::sync::{Arc, Mutex};
2
3use crate::proxies;
4
5/// Used for textures bindings in shaders
6pub struct GpuSamplerSet {
7 pub(crate) id: Mutex<usize>,
8 pub(crate) textures: Vec<(u32, Arc<dyn proxies::TextureProxy>)>,
9}
10
11impl GpuSamplerSet {
12 pub(crate) fn from_textures(textures: &[(u32, Arc<dyn proxies::TextureProxy>)]) -> Arc<Self> {
13 Arc::new(Self {
14 id: Mutex::new(usize::MAX),
15 textures: textures.to_vec(),
16 })
17 }
18}