u06-1
This commit is contained in:
parent
ddfe9bfc3c
commit
178c4a3782
|
@ -1,4 +1,28 @@
|
|||
#version 330 core
|
||||
|
||||
float pi = 3.14159;
|
||||
vec3 hsvToRgb(vec3 hsl) {
|
||||
while (hsl.x > 1) {
|
||||
hsl.x -= 1;
|
||||
}
|
||||
int hi = int(floor(hsl.x * 6));
|
||||
float f = hsl.x * 6 - hi;
|
||||
|
||||
float p = hsl.z * (1 - hsl.y);
|
||||
float q = hsl.z * (1 - hsl.y * f);
|
||||
float t = hsl.z * (1 - hsl.y * (1 - f));
|
||||
|
||||
switch (hi) {
|
||||
case 0: return vec3(hsl.z, t, p);
|
||||
case 1: return vec3(q, hsl.z, p);
|
||||
case 2: return vec3(p, hsl.z, t);
|
||||
case 3: return vec3(p, q, hsl.z);
|
||||
case 4: return vec3(t, p, hsl.z);
|
||||
case 5: return vec3(hsl.z, p, q);
|
||||
default: return vec3(0);
|
||||
}
|
||||
}
|
||||
|
||||
in float fragValue;
|
||||
flat in int pattern;
|
||||
void main() {
|
||||
|
@ -6,15 +30,15 @@ void main() {
|
|||
vec4 fragColor2 = vec4(0.0, 1.0, 0.0, 1.0);
|
||||
switch (pattern) {
|
||||
case 0:
|
||||
gl_FragColor = mix(fragColor1, fragColor2, fragValue);
|
||||
gl_FragColor = vec4(hsvToRgb(vec3(fragValue, 1, 1)), 1);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
gl_FragColor = mix(fragColor1, fragColor2, step(0.5, fragValue));
|
||||
gl_FragColor = vec4(hsvToRgb(vec3(0, fragValue, 1)), 1);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
gl_FragColor = mix(fragColor1, fragColor2, smoothstep(0.4, 0.6, fragValue));
|
||||
gl_FragColor = vec4(hsvToRgb(vec3(0, 1, fragValue)), 1);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
|
|
Loading…
Reference in New Issue