pub fn queue_material_meshes<M>(
opaque_draw_functions: Res<'_, DrawFunctions<Opaque3d>>,
alpha_mask_draw_functions: Res<'_, DrawFunctions<AlphaMask3d>>,
transmissive_draw_functions: Res<'_, DrawFunctions<Transmissive3d>>,
transparent_draw_functions: Res<'_, DrawFunctions<Transparent3d>>,
material_pipeline: Res<'_, MaterialPipeline<M>>,
pipelines: ResMut<'_, SpecializedMeshPipelines<MaterialPipeline<M>>>,
pipeline_cache: Res<'_, PipelineCache>,
msaa: Res<'_, Msaa>,
render_meshes: Res<'_, RenderAssets<Mesh>>,
render_materials: Res<'_, RenderMaterials<M>>,
render_mesh_instances: ResMut<'_, RenderMeshInstances>,
render_material_instances: Res<'_, ExtractedInstances<AssetId<M>>>,
images: Res<'_, RenderAssets<Image>>,
views: Query<'_, '_, (&ExtractedView, &VisibleEntities, Option<&Tonemapping>, Option<&DebandDither>, Option<&EnvironmentMapLight>, Option<&ShadowFilteringMethod>, Option<&ScreenSpaceAmbientOcclusionSettings>, (Has<NormalPrepass>, Has<DepthPrepass>, Has<MotionVectorPrepass>, Has<DeferredPrepass>), Option<&Camera3d>, Option<&TemporalJitter>, Option<&Projection>, &mut RenderPhase<Opaque3d>, &mut RenderPhase<AlphaMask3d>, &mut RenderPhase<Transmissive3d>, &mut RenderPhase<Transparent3d>), ()>
)where
M: Material,
<M as AsBindGroup>::Data: PartialEq<<M as AsBindGroup>::Data> + Eq + Hash + Clone,