//! Render phase definitions. /// The main render phase definitions. /// /// These variants are temporary and for testing purposes. #[derive(Copy, Clone, Debug, Hash, Eq, Ord, PartialEq, PartialOrd, strum::EnumIter)] pub enum Phase { Upload, Skinning, Depth, Opaque, Transparent, Overlay, } impl Phase { pub fn get_kind(&self) -> PhaseKind { use Phase::*; match self { Upload => PhaseKind::Command, Skinning => PhaseKind::Compute, Depth | Opaque | Transparent | Overlay => PhaseKind::Render, } } } /// The different kinds of phases. pub enum PhaseKind { Command, Compute, Render, }