diff options
Diffstat (limited to 'engine/src/rendering/shader.rs')
| -rw-r--r-- | engine/src/rendering/shader.rs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/engine/src/rendering/shader.rs b/engine/src/rendering/shader.rs index 961bea2..6b68e1e 100644 --- a/engine/src/rendering/shader.rs +++ b/engine/src/rendering/shader.rs @@ -1016,14 +1016,27 @@ pub(super) fn prepare(collector: &mut crate::ecs::extension::Collector<'_>) ); } -fn initialize(mut assets: Single<Assets>) +fn initialize(mut assets: Single<Assets>) -> Result<(), crate::Error> { + let assets = assets.get_mut()?; + assets.set_importer::<_, _>(["slang"], import_slang_asset); + + Ok(()) } #[tracing::instrument(skip_all)] -fn load_modules(mut context: Single<Context>, assets: Single<Assets>) +fn load_modules( + mut context: Single<Context>, + assets: Single<Assets>, +) -> Result<(), crate::Error> { + let Ok(context) = context.get_mut() else { + unreachable!(); + }; + + let assets = assets.get()?; + for AssetEvent::Stored(asset_id, asset_label) in assets.events().last_tick_events() { let asset_handle = AssetHandle::<ModuleSource>::from_id(*asset_id); @@ -1124,6 +1137,8 @@ fn load_modules(mut context: Single<Context>, assets: Single<Assets>) ); } } + + Ok(()) } fn load_module( |
