stk-code_catmod/data/shaders/utils/getCIEXYZ.frag

15 lines
411 B
GLSL
Raw Normal View History

2014-03-28 18:30:26 -04:00
// Using numerical value from here
// http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering
vec3 getCIEYxy(vec3 rgbColor)
{
2014-09-23 19:19:37 -04:00
mat3 RGB2XYZ = transpose(mat3(
2014-03-28 18:30:26 -04:00
vec3(.4125, .2126, .0193),
vec3(.3576, .7152, .1192),
vec3(.1805, .0722, .9505)));
2014-03-28 18:30:26 -04:00
2014-09-23 19:19:37 -04:00
vec3 xYz = RGB2XYZ * rgbColor;
float tmp = max(xYz.x + xYz.y + xYz.z, 0.1);
2014-09-23 19:19:37 -04:00
return vec3(xYz.y, xYz.xy / tmp);
}