2013-11-30 21:33:06 +00:00
|
|
|
uniform sampler2D tex;
|
|
|
|
|
2014-01-19 19:31:00 +01:00
|
|
|
out vec4 FragColor;
|
2014-02-28 17:29:05 +01:00
|
|
|
|
2014-03-28 23:30:26 +01:00
|
|
|
vec3 getCIEYxy(vec3 rgbColor);
|
2014-09-24 01:19:37 +02:00
|
|
|
vec3 getRGBFromCIEXxy(vec3 YxyColor);
|
2014-01-12 21:07:14 +00:00
|
|
|
|
2013-11-30 21:33:06 +00:00
|
|
|
void main()
|
|
|
|
{
|
2015-03-16 08:37:59 +11:00
|
|
|
vec2 uv = gl_FragCoord.xy / 512;
|
2014-06-03 19:56:59 +02:00
|
|
|
vec3 col = texture(tex, uv).xyz;
|
2014-09-24 01:19:37 +02:00
|
|
|
vec3 Yxy = getCIEYxy(col);
|
|
|
|
vec3 WhiteYxy = getCIEYxy(vec3(1.));
|
2013-11-30 21:33:06 +00:00
|
|
|
|
2014-09-24 01:19:37 +02:00
|
|
|
Yxy.x = smoothstep(WhiteYxy.x, WhiteYxy.x * 4, Yxy.x);
|
|
|
|
|
2014-10-07 00:00:16 +02:00
|
|
|
FragColor = vec4(max(vec3(0.), getRGBFromCIEXxy(Yxy)), 1.0);
|
2013-11-30 21:33:06 +00:00
|
|
|
}
|