Files
starruler-linux/data/shaders/source/hsv_palette_ps.txt
T
2018-07-17 14:15:37 +02:00

34 lines
696 B
Plaintext

uniform float value;
uniform float minSat;
uniform float maxSat;
varying vec2 uv;
void main() {
float chroma = (1.0 - uv.y) * value * (maxSat - minSat) + minSat;
float X = chroma * (1.0 - (abs(mod(uv.x * 6.0, 2.0) - 1.0)));
float m = value - chroma;
chroma += m;
X += m;
vec3 rgb = vec3(chroma);
vec2 lower = vec2(X, m);
float segment = floor(uv.x * 6.0);
if(segment == 0.0)
rgb.gb = lower;
else if(segment == 1.0)
rgb.rb = lower;
else if(segment == 2.0)
rgb.br = lower;
else if(segment == 3.0)
rgb.gr = lower;
else if(segment == 4.0)
rgb.rg = lower;
else// if(segment == 5.0)
rgb.bg = lower;
gl_FragColor = vec4(rgb, 1.0);
}