raSystem  1.0 bata
raColor.cpp
Go to the documentation of this file.
1 #include "..\include\raMain.h"
2 
3 namespace System
4 {
5 RAPI raColor raColorFromYUV(float y, float u, float v)
6 {
7  float r = 1.164f * (y - 16) + 1.596f*(v - 128);
8  float g = 1.164f * (y - 16) - 0.813f*(v - 128) - 0.391f*(u - 128);
9  float b = 1.164f * (y - 16) + 2.018f*(u - 128);
10 
11  return raColor(r, g, b);
12 }
13 
14 RAPI raColor raColorFromCMY(float c, float m, float y)
15 {
16  return raColor( 1.0f - c, 1.0f - m, 1.0f - y);
17 }
18 
19 RAPI raColor raColorFromHSV(float h, float s, float v)
20 {
21  float i;
22  float f, p, q, t;
23  if( s == 0 )
24  {
25  // achromatic (grey)
26  return raColor(v,v,v);
27  }
28  h /= 60; // sector 0 to 5
29  i = floor( h );
30  f = h - i; // factorial part of h
31  p = v * ( 1 - s );
32  q = v * ( 1 - s * f );
33  t = v * ( 1 - s * ( 1 - f ) );
34 
35  if(i == 0)
36  return raColor(v, t, p);
37  if( i == 1.0f)
38  return raColor(q, v, p);
39  if(i == 2.0f)
40  return raColor(p, v, t);
41  if(i == 3.0f)
42  return raColor(p, q, v);
43  if(i == 4.0f)
44  return raColor(t, p, v);
45 
46  return raColor(v, p, q);
47 }
48 };
RAPI raColor raColorFromCMY(float c, float m, float y)
Definition: raColor.cpp:14
#define RAPI
Definition: raMain.h:11
Definition: raColor.h:5
RAPI raColor raColorFromYUV(float y, float u, float v)
Definition: raColor.cpp:5
RAPI raColor raColorFromHSV(float h, float s, float v)
Definition: raColor.cpp:19