diff options
Diffstat (limited to 'engine/src/rendering/shader')
| -rw-r--r-- | engine/src/rendering/shader/default.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/engine/src/rendering/shader/default.rs b/engine/src/rendering/shader/default.rs index a60fd61..3194706 100644 --- a/engine/src/rendering/shader/default.rs +++ b/engine/src/rendering/shader/default.rs @@ -42,9 +42,9 @@ pub static ASSET_LABEL: LazyLock<AssetLabel> = LazyLock::new(|| AssetLabel { name: Some("default_shader".into()), }); -pub fn initialize(mut assets: Single<Assets>) +pub fn initialize(mut assets: Single<Assets>) -> Result<(), crate::Error> { - assets.store_with_label( + assets.get_mut()?.store_with_label( ASSET_LABEL.clone(), ShaderModuleSource { name: "default_shader.slang".into(), @@ -54,6 +54,8 @@ pub fn initialize(mut assets: Single<Assets>) | ShaderEntrypointFlags::FRAGMENT, }, ); + + Ok(()) } pub fn enqueue_set_shader_bindings( @@ -66,11 +68,15 @@ pub fn enqueue_set_shader_bindings( shader_context: Single<ShaderContext>, global_light: Single<GlobalLight>, mut actions: Actions, -) +) -> Result<(), crate::Error> { + let assets = assets.get()?; + let shader_context = shader_context.get()?; + let global_light = global_light.get()?; + let Some((camera, camera_world_pos, _)) = camera_query.iter().next() else { tracing::trace!("No current camera"); - return; + return Ok(()); }; let default_shader_asset = assets @@ -344,6 +350,8 @@ pub fn enqueue_set_shader_bindings( actions.add_components(entity_id, (shader_bindings.clone(),)); } } + + Ok(()) } fn create_model_matrix(transform: Transform) -> Matrix<f32, 4, 4> |
