35 lines
1.1 KiB
Rust
35 lines
1.1 KiB
Rust
use crate::cmm::cmm_transfer_function::TransferFunction;
|
|
|
|
pub const TF_SRGB: u32 = 0;
|
|
pub const TF_LINEAR: u32 = 1;
|
|
pub const TF_ST2084_PQ: u32 = 2;
|
|
pub const TF_BT1887: u32 = 3;
|
|
pub const TF_GAMMA22: u32 = 4;
|
|
pub const TF_GAMMA28: u32 = 5;
|
|
pub const TF_ST240: u32 = 6;
|
|
pub const TF_EXT_SRGB: u32 = 7;
|
|
pub const TF_LOG100: u32 = 8;
|
|
pub const TF_LOG316: u32 = 9;
|
|
pub const TF_ST428: u32 = 10;
|
|
|
|
pub trait TransferFunctionExt: Sized {
|
|
fn to_vulkan(self) -> u32;
|
|
}
|
|
|
|
impl TransferFunctionExt for TransferFunction {
|
|
fn to_vulkan(self) -> u32 {
|
|
match self {
|
|
TransferFunction::Srgb => TF_SRGB,
|
|
TransferFunction::Linear => TF_LINEAR,
|
|
TransferFunction::St2084Pq => TF_ST2084_PQ,
|
|
TransferFunction::Bt1886 => TF_BT1887,
|
|
TransferFunction::Gamma22 => TF_GAMMA22,
|
|
TransferFunction::Gamma28 => TF_GAMMA28,
|
|
TransferFunction::St240 => TF_ST240,
|
|
TransferFunction::ExtSrgb => TF_EXT_SRGB,
|
|
TransferFunction::Log100 => TF_LOG100,
|
|
TransferFunction::Log316 => TF_LOG316,
|
|
TransferFunction::St428 => TF_ST428,
|
|
}
|
|
}
|
|
}
|