diff options
Diffstat (limited to 'engine/src/rendering/main_render_pass.rs')
| -rw-r--r-- | engine/src/rendering/main_render_pass.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/engine/src/rendering/main_render_pass.rs b/engine/src/rendering/main_render_pass.rs index ec30dc5..02e0ca0 100644 --- a/engine/src/rendering/main_render_pass.rs +++ b/engine/src/rendering/main_render_pass.rs @@ -3,6 +3,7 @@ use crate::draw_flags::{DrawFlags, NoDraw, PolygonModeConfig}; use crate::ecs::query::term::{With, Without}; use crate::ecs::sole::Single; use crate::ecs::Query; +use crate::error; use crate::model::{MaterialSearchResult, Model}; use crate::rendering::object::{Id as ObjectId, Store as ObjectStore}; use crate::rendering::shader::default::ASSET_LABEL as DEFAULT_SHADER_ASSET_LABEL; @@ -42,13 +43,17 @@ pub fn add_main_render_passes( shader_context: Single<ShaderContext>, mut render_passes: Single<RenderPasses>, mut object_store: Single<ObjectStore>, -) +) -> Result<(), crate::Error> { + let assets = assets.get()?; + let shader_context = shader_context.get()?; + let render_passes = render_passes.get_mut()?; + let object_store = object_store.get_mut()?; + let Some(default_shader_asset) = assets .get_handle_to_loaded::<ShaderModuleSource>(DEFAULT_SHADER_ASSET_LABEL.clone()) else { - tracing::error!("Default shader asset is not loaded"); - return; + return Err(error!("Default shader asset is not loaded")); }; let render_pass = render_passes.passes.push_front_mut(RenderPass { @@ -237,4 +242,6 @@ pub fn add_main_render_passes( } } } + + Ok(()) } |
