bloom.frag 403 B

12345678910111213141516171819
  1. uniform sampler2D tex;
  2. out vec4 FragColor;
  3. vec3 getCIEYxy(vec3 rgbColor);
  4. vec3 getRGBFromCIEXxy(vec3 YxyColor);
  5. void main()
  6. {
  7. vec2 uv = gl_FragCoord.xy / 512;
  8. vec3 col = texture(tex, uv).xyz;
  9. vec3 Yxy = getCIEYxy(col);
  10. vec3 WhiteYxy = getCIEYxy(vec3(1.));
  11. Yxy.x = smoothstep(WhiteYxy.x, WhiteYxy.x * 4, Yxy.x);
  12. FragColor = vec4(max(vec3(0.), getRGBFromCIEXxy(Yxy)), 1.0);
  13. }