#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub struct Format(pub ChannelFormat, pub NumericFormat);

#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub enum ChannelFormat {
    R4G4,
    R4G4B4A4,
    R5G6B5,
    B5G6R5,
    R5G5B5A1,
    R8,
    R8G8,
    R8G8B8A8,
    B8G8R8A8,
    R10G11B11,
    R11G11B10,
    R10G10B10A2,
    R16,
    R16G16,
    R16G16B16A16,
    R32,
    R32G32,
    R32G32B32,
    R32G32B32A32,
    R16G8,
    R32G8,
    R9G9B9E5
}

#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub enum 
 {
    UnsignedNormalizedInteger,
    SignedNormalizedInteger,
    UnsignedInteger,
    SignedInteger,
    Float
}
NumericFormat