8float Color::power( )
const
13float Color::max( )
const
15 return std::max(r, std::max(g, std::max(b,
float(0))));
20 return Color(0, 0, 0);
25 return Color(1, 1, 1);
30 return Color(1, 0, 0);
35 return Color(0, 1, 0);
40 return Color(0, 0, 1);
45 return Color(1, 1, 0);
49float srgb(
const float x )
51 if(x < 0.00031308f)
return 12.92f * x;
52 else return 1.055f * std::pow(x, 1.0f / 2.4f) - 0.055f;
55float linear(
const float x )
57 if(x < 0.04045f)
return x / 12.92f;
58 else return std::pow((x + 0.055f) / 1.055f, 2.4f);
63 return Color( srgb(color.r), srgb(color.g), srgb(color.b), color.a );
68 return Color( linear(color.r), linear(color.g), linear(color.b), color.a );
73 return Color( std::abs(color.r), std::abs(color.g), std::abs(color.b), std::abs(color.a) );
76float clamp(
const float x,
const float a,
const float b )
79 else if(x > b)
return b;
85 return Color(
clamp(color.r, a, b), clamp(color.g, a, b), clamp(color.b, a, b), clamp(color.a, a, b) );
91 return Color(a.r + b.r, a.g + b.g, a.b + b.b, a.a + b.a);
96 return Color(-c.r, -c.g, -c.b, -c.a);
106 return Color(a.r * b.r, a.g * b.g, a.b * b.b, a.a * b.a);
109Color operator* (
const float k,
const Color& c )
111 return Color(c.r * k, c.g * k, c.b * k, c.a * k);
114Color operator* (
const Color& c,
const float k )
121 return Color(a.r / b.r, a.g / b.g, a.b / b.b, a.a / b.a);
124Color operator/ (
const float k,
const Color& c )
126 return Color(k / c.r, k / c.g, k / c.b, k / c.a);
129Color operator/ (
const Color& c,
const float k )
135Color operator+ (
const float k,
const Color& c )
137 return Color(k + c.r, k + c.g, k + c.b, k + c.a);
140Color operator+ (
const Color& c,
const float k )
Color Red()
utilitaire. renvoie une couleur rouge.
Color Yellow()
utilitaire. renvoie une couleur jaune.
Color Blue()
utilitaire. renvoie une couleur bleue.
Color Black()
utilitaire. renvoie une couleur noire.
Color Green()
utilitaire. renvoie une couleur verte.
float clamp(const float x, const float a, const float b)
renvoie une valeur comprise entre a et b.
Color White()
utilitaire. renvoie une couleur blanche.
Color abs(const Color &color)
renvoie la valeur absolue de chaque canal.
representation d'une couleur (rgba) transparente ou opaque.