pub enum MappingColorSpace {
Rgb(RgbToneMapperParameters),
YRgb(CommonToneMapperParameters),
Oklab(CommonToneMapperParameters),
Jzazbz(JzazbzToneMapperParameters),
}Variants§
Rgb(RgbToneMapperParameters)
Scene linear light RGB colorspace.
Some description what to expect:
- Does not produce colours outside the destination gamut.
- Generally tends to produce “natural” looking colours, although saturation of extreme colours is reduced substantially and some colours may be changed in hue.
- Problematic when it is desired to retain bright saturated colours, such as coloured lights at night
- Depending on the amount of compression, the saturation decrease may be excessive, and occasionally hue changes can be objectionable.
YRgb(CommonToneMapperParameters)
Yrg filmic colorspace.
Slightly better results as in linear RGB, for a little computational cost.
Some description what to expect:
- Has the potential to produce colours outside the destination gamut, which then require gamut mapping
- Preserves chromaticity except for where gamut mapping is applied. Does not produce a “natural” looking desaturation of tonally compressed colours.
- Problems can be avoided by using in combination with a variable desaturation and gamut mapping algorithm, although such algorithms generally perform best in hue, saturation and lightness colour spaces (requiring a colour space change).
Algorithm here do not perform gamut mapping.
Oklab(CommonToneMapperParameters)
Oklab perceptual colorspace.
It exists more for experiments how does it look like. Results are often strange and might not be acceptable. Oklab is not really were created for HDR.
Some description of what to expect:
- Provides perceptually uniform lightness adjustments.
- Preserves hue better than RGB but can lead to color shifts due to applying aggressive compression.
- Suitable for applications where perceptual lightness control is more important than strict colorimetric accuracy.
Jzazbz(JzazbzToneMapperParameters)
JzAzBz perceptual HDR colorspace.
Some description of what to expect:
- Designed for HDR workflows, explicitly modeling display-referred luminance.
- Thus, as at the first point often produces the best results.
- Provides better perceptual uniformity than Oklab, particularly in high dynamic range content.
- Preserves hue well, but chroma adjustments may be necessary when mapping between displays with different peak brightness.
- Can help avoid color distortions and oversaturation when adapting HDR content to lower-luminance displays.
This is very slow computational method. Content brightness should be specified.
Trait Implementations§
Source§impl Clone for MappingColorSpace
impl Clone for MappingColorSpace
Source§fn clone(&self) -> MappingColorSpace
fn clone(&self) -> MappingColorSpace
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MappingColorSpace
impl Debug for MappingColorSpace
Source§impl PartialEq for MappingColorSpace
impl PartialEq for MappingColorSpace
Source§impl PartialOrd for MappingColorSpace
impl PartialOrd for MappingColorSpace
impl Copy for MappingColorSpace
impl StructuralPartialEq for MappingColorSpace
Auto Trait Implementations§
impl Freeze for MappingColorSpace
impl RefUnwindSafe for MappingColorSpace
impl Send for MappingColorSpace
impl Sync for MappingColorSpace
impl Unpin for MappingColorSpace
impl UnwindSafe for MappingColorSpace
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more