pub struct TransformOptions {
pub rendering_intent: RenderingIntent,
pub allow_use_cicp_transfer: bool,
pub prefer_fixed_point: bool,
pub interpolation_method: InterpolationMethod,
pub barycentric_weight_scale: BarycentricWeightScale,
}Expand description
Declares additional transformation options
Fields§
§rendering_intent: RenderingIntent§allow_use_cicp_transfer: boolIf set it will try to use Transfer Characteristics from CICP on transform. This might be more precise and faster.
prefer_fixed_point: boolPrefers fixed point where implemented as default. Most of the applications actually do not need floating point.
Do not change it if you’re not sure that extreme precision is required, in most cases it is a simple way to spend energy to warming up environment a little.
Q2.13 for RGB->XYZ->RGB is used. LUT interpolation use Q0.15.
interpolation_method: InterpolationMethodInterpolation method for 3D LUT
This parameter has no effect on LAB/XYZ interpolation and scene linear RGB.
Technically, it should be assumed to perform cube dividing interpolation:
- Source colorspace is gamma-encoded (discards scene linear RGB and XYZ).
- Colorspace is uniform.
- Colorspace has linear scaling (discards LAB).
- Interpolation doesn’t shift hues (discards LAB).
For LAB, XYZ and scene linear RGB trilinear/quadlinear always in force.
barycentric_weight_scale: BarycentricWeightScaleBarycentric weights scale.
This value controls LUT weights precision.
Trait Implementations§
Source§impl Clone for TransformOptions
impl Clone for TransformOptions
Source§fn clone(&self) -> TransformOptions
fn clone(&self) -> TransformOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more