1use bevy_ecs::define_label;
2use bevy_ecs::intern::Interned;
3pub use bevy_material_macros::ShaderLabel;
4
5define_label!(
6 #[diagnostic::on_unimplemented(
7 note = "consider annotating `{Self}` with `#[derive(ShaderLabel)]`"
8 )]
9 ShaderLabel,
11 SHADER_LABEL_INTERNER
12);
13
14pub type InternedShaderLabel = Interned<dyn ShaderLabel>;
16
17pub use bevy_material_macros::DrawFunctionLabel;
18
19define_label!(
20 #[diagnostic::on_unimplemented(
21 note = "consider annotating `{Self}` with `#[derive(DrawFunctionLabel)]`"
22 )]
23 DrawFunctionLabel,
25 DRAW_FUNCTION_LABEL_INTERNER
26);
27
28pub type InternedDrawFunctionLabel = Interned<dyn DrawFunctionLabel>;
29
30#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord, Hash)]
34pub struct DrawFunctionId(pub u32);