summaryrefslogtreecommitdiff
path: root/client/src
diff options
context:
space:
mode:
Diffstat (limited to 'client/src')
-rw-r--r--client/src/scene_prepare.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/client/src/scene_prepare.rs b/client/src/scene_prepare.rs
index 8b2453a..36761a0 100644
--- a/client/src/scene_prepare.rs
+++ b/client/src/scene_prepare.rs
@@ -80,7 +80,7 @@ pub struct ScenePreparer {
texture_bgl: BindGroupLayout,
textures: DemandMap<Resource<Image>, (Arc<Texture>, Arc<BindGroup>)>,
- placeholder_textures: DemandMap<(), (Arc<Texture>, Arc<BindGroup>)>,
+ placeholder_textures: DemandMap<bool, (Arc<Texture>, Arc<BindGroup>)>,
index_buffers: DemandMap<Resource<Vec<[u32; 3]>>, (Arc<Buffer>, u32)>,
vertex_buffers: DemandMap<Resource<Vec<f32>>, (Arc<Buffer>, u32)>,
placeholder_vertex_buffers: DemandMap<(u32, bool), Arc<Buffer>>,
@@ -201,16 +201,17 @@ impl ScenePreparer {
)
}
}
- for pres in self.placeholder_textures.needed() {
+ for variant in self.placeholder_textures.needed() {
+ let v = if variant { 1 } else { 0 };
let tex_bg = create_texture(
&self.device,
&self.queue,
&self.texture_bgl,
- &[255, 255, 255, 255],
+ &[v, v, v, 255],
1,
1,
);
- self.placeholder_textures.insert(pres, tex_bg);
+ self.placeholder_textures.insert(variant, tex_bg);
}
for pres in self.mesh_parts.needed() {
let start = Instant::now();
@@ -248,7 +249,7 @@ impl ScenePreparer {
tex_albedo = Some(bg)
}
} else {
- if let Some((_tex, bg)) = self.placeholder_textures.try_get(()) {
+ if let Some((_tex, bg)) = self.placeholder_textures.try_get(true) {
tex_albedo = Some(bg)
}
}
@@ -258,7 +259,7 @@ impl ScenePreparer {
tex_normal = Some(bg)
}
} else {
- if let Some((_tex, bg)) = self.placeholder_textures.try_get(()) {
+ if let Some((_tex, bg)) = self.placeholder_textures.try_get(false) {
tex_normal = Some(bg)
}
}