@@ -19,22 +19,11 @@ use bevy_ecs::{
1919} ;
2020use bevy_image:: BevyDefault ;
2121use bevy_render:: {
22- extract_component:: {
23- ComponentUniforms , DynamicUniformIndex , ExtractComponent , ExtractComponentPlugin ,
24- UniformComponentPlugin ,
25- } ,
26- render_resource:: {
27- binding_types:: { sampler, texture_2d, uniform_buffer} ,
28- encase:: internal:: WriteInto ,
29- BindGroup , BindGroupEntries , BindGroupLayoutDescriptor , BindGroupLayoutEntries ,
30- CachedRenderPipelineId , ColorTargetState , ColorWrites , FragmentState , Operations ,
31- PipelineCache , RenderPassColorAttachment , RenderPassDescriptor , RenderPipelineDescriptor ,
32- Sampler , SamplerBindingType , SamplerDescriptor , ShaderStages , ShaderType , TextureFormat ,
33- TextureSampleType , TextureView , TextureViewId ,
34- } ,
35- renderer:: { RenderContext , RenderDevice , ViewQuery } ,
36- view:: ViewTarget ,
37- Render , RenderApp , RenderStartup , RenderSystems ,
22+ Render , RenderApp , RenderStartup , RenderSystems , extract_component:: {
23+ ComponentUniforms , DynamicUniformIndex , ExtractBaseComponent , ExtractComponent , ExtractComponentPlugin , UniformComponentPlugin
24+ } , render_resource:: {
25+ BindGroup , BindGroupEntries , BindGroupLayoutDescriptor , BindGroupLayoutEntries , CachedRenderPipelineId , ColorTargetState , ColorWrites , FragmentState , Operations , PipelineCache , RenderPassColorAttachment , RenderPassDescriptor , RenderPipelineDescriptor , Sampler , SamplerBindingType , SamplerDescriptor , ShaderStages , ShaderType , TextureFormat , TextureSampleType , TextureView , TextureViewId , binding_types:: { sampler, texture_2d, uniform_buffer} , encase:: internal:: WriteInto
26+ } , renderer:: { RenderContext , RenderDevice , ViewQuery } , view:: ViewTarget
3827} ;
3928use bevy_shader:: ShaderRef ;
4029use bevy_utils:: default;
@@ -47,7 +36,7 @@ pub struct FullscreenMaterialPlugin<T: FullscreenMaterial> {
4736impl < T : FullscreenMaterial > Plugin for FullscreenMaterialPlugin < T > {
4837 fn build ( & self , app : & mut App ) {
4938 app. add_plugins ( (
50- ExtractComponentPlugin :: < T > :: default ( ) ,
39+ ExtractComponentPlugin :: < T > :: new ( RenderApp ) ,
5140 UniformComponentPlugin :: < T > :: default ( ) ,
5241 ) ) ;
5342
@@ -75,7 +64,7 @@ impl<T: FullscreenMaterial> Plugin for FullscreenMaterialPlugin<T> {
7564
7665/// A trait to define a material that will render to the entire screen using a fullscreen triangle.
7766pub trait FullscreenMaterial :
78- Component + ExtractComponent + Clone + Copy + ShaderType + WriteInto + Default
67+ Component + ExtractBaseComponent < RenderApp > + Clone + Copy + ShaderType + WriteInto + Default
7968{
8069 /// The shader that will run on the entire screen using a fullscreen triangle.
8170 fn fragment_shader ( ) -> ShaderRef ;
0 commit comments