diff --git a/assets/rainbow_shader.wgsl b/assets/rainbow_shader.wgsl index ee2238bbaf490d424e99c33f3af56ed964c0fe6a..fc10bb195f2a77e894b58d282dc2398f0e416907 100644 --- a/assets/rainbow_shader.wgsl +++ b/assets/rainbow_shader.wgsl @@ -1,6 +1,6 @@ -#import kayak_ui::bindings -#import kayak_ui::sample_quad -#import kayak_ui::vertex_output +#import kayak_ui::bindings globals +#import kayak_ui::sample_quad sample_quad +#import kayak_ui::vertex_output VertexOutput fn hsv2rgb(c: vec3<f32>) -> vec3<f32> { diff --git a/src/render/material/plugin.rs b/src/render/material/plugin.rs index 897a4d9f62d269bfbfbc12e96a0514e9601bb4e4..67a994cd2947090f7353a264888815881b476bbd 100644 --- a/src/render/material/plugin.rs +++ b/src/render/material/plugin.rs @@ -37,26 +37,28 @@ where app.add_asset::<M>() .add_plugins(ExtractComponentPlugin::<Handle<M>>::extract_visible()); - if let Ok(render_app) = app.get_sub_app_mut(RenderApp) { - render_app - .add_render_command::<TransparentUI, DrawMaterialUI<M>>() - .add_render_command::<TransparentOpacityUI, DrawMaterialUITransparent<M>>() - .init_resource::<MaterialUIPipeline<M>>() - .init_resource::<ExtractedMaterialsUI<M>>() - .init_resource::<RenderMaterialsUI<M>>() - .init_resource::<SpecializedRenderPipelines<MaterialUIPipeline<M>>>() - .add_systems(ExtractSchedule, extract_materials_ui::<M>) - .add_systems( - Render, - ( - prepare_materials_ui::<M> - .in_set(RenderSet::Prepare) - .after(PrepareAssetSet::PreAssetPrepare), - queue_material_ui_quads::<M> - .in_set(RenderSet::Queue) - .after(crate::render::unified::pipeline::queue_quads), - ), - ); - } + app.sub_app_mut(RenderApp) + .add_render_command::<TransparentUI, DrawMaterialUI<M>>() + .add_render_command::<TransparentOpacityUI, DrawMaterialUITransparent<M>>() + .init_resource::<ExtractedMaterialsUI<M>>() + .init_resource::<RenderMaterialsUI<M>>() + .init_resource::<SpecializedRenderPipelines<MaterialUIPipeline<M>>>() + .add_systems(ExtractSchedule, extract_materials_ui::<M>) + .add_systems( + Render, + ( + prepare_materials_ui::<M> + .in_set(RenderSet::Prepare) + .after(PrepareAssetSet::PreAssetPrepare), + queue_material_ui_quads::<M> + .in_set(RenderSet::Queue) + .after(crate::render::unified::pipeline::queue_quads), + ), + ); + } + + fn finish(&self, app: &mut App) { + app.sub_app_mut(RenderApp) + .init_resource::<MaterialUIPipeline<M>>(); } }