mirror of
https://github.com/bevyengine/bevy
synced 2024-11-10 07:04:33 +00:00
Don't panic when StandardMaterial normal_map hasn't loaded yet (#5307)
# Objective
[This unwrap()](de484c1e41/crates/bevy_pbr/src/pbr_material.rs (L195)
) in pbr_material.rs will be hit if a StandardMaterial normal_map image has not finished loading, resulting in an error message that is hard to debug.
## Solution
~~This PR improves the error message including a potential indication of why the unwrap() could have panic'd by using expect() instead of unwrap().~~
This PR removes the panic by only proceeding if the image is found.
---
## Changelog
Don't panic when StandardMaterial normal_map images have not finished loading.
This commit is contained in:
parent
f531a94370
commit
d4f8f88bb6
1 changed files with 10 additions and 12 deletions
|
@ -190,11 +190,8 @@ impl AsBindGroupShaderType<StandardMaterialUniform> for StandardMaterial {
|
|||
}
|
||||
let has_normal_map = self.normal_map_texture.is_some();
|
||||
if has_normal_map {
|
||||
match images
|
||||
.get(self.normal_map_texture.as_ref().unwrap())
|
||||
.unwrap()
|
||||
.texture_format
|
||||
{
|
||||
if let Some(texture) = images.get(self.normal_map_texture.as_ref().unwrap()) {
|
||||
match texture.texture_format {
|
||||
// All 2-component unorm formats
|
||||
TextureFormat::Rg8Unorm
|
||||
| TextureFormat::Rg16Unorm
|
||||
|
@ -204,6 +201,7 @@ impl AsBindGroupShaderType<StandardMaterialUniform> for StandardMaterial {
|
|||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
if self.flip_normal_map_y {
|
||||
flags |= StandardMaterialFlags::FLIP_NORMAL_MAP_Y;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue