From f046a0601f88e0406e4c3eefb175640d9eb72f7a Mon Sep 17 00:00:00 2001 From: shuo Date: Sat, 4 Mar 2023 00:03:35 +0800 Subject: [PATCH] Use Image::default for 1 pixel white texture directly --- crates/bevy_pbr/src/render/mesh.rs | 7 +------ crates/bevy_render/src/texture/image.rs | 1 + crates/bevy_sprite/src/mesh2d/mesh.rs | 7 +------ crates/bevy_sprite/src/render/mod.rs | 7 +------ 4 files changed, 4 insertions(+), 18 deletions(-) diff --git a/crates/bevy_pbr/src/render/mesh.rs b/crates/bevy_pbr/src/render/mesh.rs index 60dba3f9a2ffe..67bb0c7138196 100644 --- a/crates/bevy_pbr/src/render/mesh.rs +++ b/crates/bevy_pbr/src/render/mesh.rs @@ -484,12 +484,7 @@ impl FromWorld for MeshPipeline { // A 1x1x1 'all 1.0' texture to use as a dummy texture to use in place of optional StandardMaterial textures let dummy_white_gpu_image = { - let image = Image::new_fill( - Extent3d::default(), - TextureDimension::D2, - &[255u8; 4], - TextureFormat::bevy_default(), - ); + let image = Image::default(); let texture = render_device.create_texture(&image.texture_descriptor); let sampler = match image.sampler_descriptor { ImageSampler::Default => (**default_sampler).clone(), diff --git a/crates/bevy_render/src/texture/image.rs b/crates/bevy_render/src/texture/image.rs index 1b6b16427d8bb..9df28d4210349 100644 --- a/crates/bevy_render/src/texture/image.rs +++ b/crates/bevy_render/src/texture/image.rs @@ -172,6 +172,7 @@ impl ImageSampler { pub struct DefaultImageSampler(pub(crate) Sampler); impl Default for Image { + /// default is a 1x1x1 all '1.0' texture fn default() -> Self { let format = wgpu::TextureFormat::bevy_default(); let data = vec![255; format.pixel_size()]; diff --git a/crates/bevy_sprite/src/mesh2d/mesh.rs b/crates/bevy_sprite/src/mesh2d/mesh.rs index b362e6b27fd95..42030fb52bed8 100644 --- a/crates/bevy_sprite/src/mesh2d/mesh.rs +++ b/crates/bevy_sprite/src/mesh2d/mesh.rs @@ -208,12 +208,7 @@ impl FromWorld for Mesh2dPipeline { }); // A 1x1x1 'all 1.0' texture to use as a dummy texture to use in place of optional StandardMaterial textures let dummy_white_gpu_image = { - let image = Image::new_fill( - Extent3d::default(), - TextureDimension::D2, - &[255u8; 4], - TextureFormat::bevy_default(), - ); + let image = Image::default(); let texture = render_device.create_texture(&image.texture_descriptor); let sampler = match image.sampler_descriptor { ImageSampler::Default => (**default_sampler).clone(), diff --git a/crates/bevy_sprite/src/render/mod.rs b/crates/bevy_sprite/src/render/mod.rs index 3d5ac0377449b..89d7cbbcce871 100644 --- a/crates/bevy_sprite/src/render/mod.rs +++ b/crates/bevy_sprite/src/render/mod.rs @@ -91,12 +91,7 @@ impl FromWorld for SpritePipeline { label: Some("sprite_material_layout"), }); let dummy_white_gpu_image = { - let image = Image::new_fill( - Extent3d::default(), - TextureDimension::D2, - &[255u8; 4], - TextureFormat::bevy_default(), - ); + let image = Image::default(); let texture = render_device.create_texture(&image.texture_descriptor); let sampler = match image.sampler_descriptor { ImageSampler::Default => (**default_sampler).clone(),