cyborg/src/phase.rs

33 lines
689 B
Rust

//! 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,
}