iv::ColorTransform Struct Reference

#include <ColorTransform.hpp>

Static Public Member Functions

static float4x4 RotateHue (float radians)
 
static float4x4 ShiftSaturation (float)
 
static float4x4 ScaleValue (float)
 
static float4x4 ShiftValue (float)
 
static float4x4 Change_Hue (float4 from, float4 to)
 
static float4x4 Change_Saturation (float4 from, float4 to)
 
static float4x4 Change_Value (float4 from, float4 to)
 
static float4x4 Change (float4 from, float4 to)
 
static float4x4 Zero ()
 
static float4x4 Scale (float4 sRGB)
 Input value is in sRGB, it is transformed to HCL and matrix is scaled by the HCL value. More...
 
static float4x4 Shift (float4 sRGB)
 
static float GetHue (float4 color)
 
static float GetSaturation (float4 color)
 Returned values are strange (they do not stay fixed when changing hue), but are consistent with the rest of the model. More...
 
static float GetValue (float4 color)
 May also behave a bit strange (similarly to GetSaturation) but to significantly smaller degree. More...
 
static float4 Apply (float4x4 transform, float4 color)
 Transform generated from funcitons in ColorTransform, color in sRGB, returns color in sRGB with transform applied to it. Do not use simple matrix multiplication, that has to be done fully in linear space. More...
 
static float sRGB_to_linearRGB (float)
 
static float4 sRGB_to_linearRGB (float4)
 
static float linearRGB_to_sRGB (float)
 
static float4 linearRGB_to_sRGB (float4)
 
static float4 linearRGB_to_HSV (float4)
 
static float4 HSV_to_linearRGB (float4)
 

Detailed Description

Input colors are in sRGB. Matrices are to be applied in HSV space.

Definition at line 12 of file ColorTransform.hpp.

Member Function Documentation

◆ RotateHue()

float4x4 iv::ColorTransform::RotateHue ( float  radians)
static

Definition at line 9 of file ColorTransform.cpp.

◆ ShiftSaturation()

float4x4 iv::ColorTransform::ShiftSaturation ( float  shift)
static

Definition at line 14 of file ColorTransform.cpp.

◆ ScaleValue()

float4x4 iv::ColorTransform::ScaleValue ( float  scale)
static

Definition at line 19 of file ColorTransform.cpp.

◆ ShiftValue()

float4x4 iv::ColorTransform::ShiftValue ( float  shift)
static

Definition at line 24 of file ColorTransform.cpp.

◆ Change_Hue()

float4x4 iv::ColorTransform::Change_Hue ( float4  from,
float4  to 
)
static

Definition at line 29 of file ColorTransform.cpp.

◆ Change_Saturation()

float4x4 iv::ColorTransform::Change_Saturation ( float4  from,
float4  to 
)
static

Definition at line 36 of file ColorTransform.cpp.

◆ Change_Value()

float4x4 iv::ColorTransform::Change_Value ( float4  from,
float4  to 
)
static

Definition at line 43 of file ColorTransform.cpp.

◆ Change()

float4x4 iv::ColorTransform::Change ( float4  from,
float4  to 
)
static

Definition at line 50 of file ColorTransform.cpp.

◆ Zero()

float4x4 iv::ColorTransform::Zero ( )
static

Definition at line 57 of file ColorTransform.cpp.

◆ Scale()

float4x4 iv::ColorTransform::Scale ( float4  sRGB)
static

Input value is in sRGB, it is transformed to HCL and matrix is scaled by the HCL value.

Definition at line 62 of file ColorTransform.cpp.

◆ Shift()

float4x4 iv::ColorTransform::Shift ( float4  sRGB)
static

Definition at line 68 of file ColorTransform.cpp.

◆ GetHue()

float iv::ColorTransform::GetHue ( float4  color)
static

Definition at line 74 of file ColorTransform.cpp.

◆ GetSaturation()

float iv::ColorTransform::GetSaturation ( float4  color)
static

Returned values are strange (they do not stay fixed when changing hue), but are consistent with the rest of the model.

Definition at line 79 of file ColorTransform.cpp.

◆ GetValue()

float iv::ColorTransform::GetValue ( float4  color)
static

May also behave a bit strange (similarly to GetSaturation) but to significantly smaller degree.

Definition at line 84 of file ColorTransform.cpp.

◆ Apply()

float4 iv::ColorTransform::Apply ( float4x4  transform,
float4  color 
)
static

Transform generated from funcitons in ColorTransform, color in sRGB, returns color in sRGB with transform applied to it. Do not use simple matrix multiplication, that has to be done fully in linear space.

Definition at line 89 of file ColorTransform.cpp.

◆ sRGB_to_linearRGB() [1/2]

float iv::ColorTransform::sRGB_to_linearRGB ( float  val)
static

Definition at line 96 of file ColorTransform.cpp.

◆ sRGB_to_linearRGB() [2/2]

float4 iv::ColorTransform::sRGB_to_linearRGB ( float4  val)
static

Definition at line 104 of file ColorTransform.cpp.

◆ linearRGB_to_sRGB() [1/2]

float iv::ColorTransform::linearRGB_to_sRGB ( float  val)
static

Definition at line 109 of file ColorTransform.cpp.

◆ linearRGB_to_sRGB() [2/2]

float4 iv::ColorTransform::linearRGB_to_sRGB ( float4  val)
static

Definition at line 117 of file ColorTransform.cpp.

◆ linearRGB_to_HSV()

float4 iv::ColorTransform::linearRGB_to_HSV ( float4  rgb)
static

Definition at line 122 of file ColorTransform.cpp.

◆ HSV_to_linearRGB()

float4 iv::ColorTransform::HSV_to_linearRGB ( float4  hsv)
static

Definition at line 154 of file ColorTransform.cpp.


The documentation for this struct was generated from the following files: