pub mod blend {
use state::{Blend, BlendChannel, BlendValue, Equation, Factor};
pub const REPLACE: Blend = Blend {
color: BlendChannel {
equation: Equation::Add,
source: Factor::One,
destination: Factor::Zero,
},
alpha: BlendChannel {
equation: Equation::Add,
source: Factor::One,
destination: Factor::Zero,
}
};
pub const ADD: Blend = Blend {
color: BlendChannel {
equation: Equation::Add,
source: Factor::One,
destination: Factor::One,
},
alpha: BlendChannel {
equation: Equation::Add,
source: Factor::One,
destination: Factor::One,
},
};
pub const MULTIPLY: Blend = Blend {
color: BlendChannel {
equation: Equation::Add,
source: Factor::ZeroPlus(BlendValue::DestColor),
destination: Factor::Zero,
},
alpha: BlendChannel {
equation: Equation::Add,
source: Factor::ZeroPlus(BlendValue::DestAlpha),
destination: Factor::Zero,
},
};
pub const ALPHA: Blend = Blend {
color: BlendChannel {
equation: Equation::Add,
source: Factor::ZeroPlus(BlendValue::SourceAlpha),
destination: Factor::OneMinus(BlendValue::SourceAlpha),
},
alpha: BlendChannel {
equation: Equation::Add,
source: Factor::One,
destination: Factor::One,
},
};
pub const INVERT: Blend = Blend {
color: BlendChannel {
equation: Equation::Sub,
source: Factor::ZeroPlus(BlendValue::ConstColor),
destination: Factor::ZeroPlus(BlendValue::SourceColor),
},
alpha: BlendChannel {
equation: Equation::Add,
source: Factor::Zero,
destination: Factor::One,
},
};
}
pub mod depth {
use state::{Comparison, Depth};
pub const PASS_TEST: Depth = Depth {
fun: Comparison::Always,
write: false,
};
pub const LESS_EQUAL_TEST: Depth = Depth {
fun: Comparison::LessEqual,
write: false,
};
pub const LESS_EQUAL_WRITE: Depth = Depth {
fun: Comparison::LessEqual,
write: true,
};
}