use bevy_ecs::define_label;
use bevy_ecs::intern::Interned;
pub use bevy_material_macros::ShaderLabel;
define_label!(
#[diagnostic::on_unimplemented(
note = "consider annotating `{Self}` with `#[derive(ShaderLabel)]`"
)]
ShaderLabel,
SHADER_LABEL_INTERNER
);
pub type InternedShaderLabel = Interned<dyn ShaderLabel>;
pub use bevy_material_macros::DrawFunctionLabel;
define_label!(
#[diagnostic::on_unimplemented(
note = "consider annotating `{Self}` with `#[derive(DrawFunctionLabel)]`"
)]
DrawFunctionLabel,
DRAW_FUNCTION_LABEL_INTERNER
);
pub type InternedDrawFunctionLabel = Interned<dyn DrawFunctionLabel>;
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord, Hash)]
pub struct DrawFunctionId(pub u32);