u06-1
This commit is contained in:
parent
ddfe9bfc3c
commit
178c4a3782
|
@ -1,4 +1,28 @@
|
||||||
#version 330 core
|
#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;
|
in float fragValue;
|
||||||
flat in int pattern;
|
flat in int pattern;
|
||||||
void main() {
|
void main() {
|
||||||
|
@ -6,15 +30,15 @@ void main() {
|
||||||
vec4 fragColor2 = vec4(0.0, 1.0, 0.0, 1.0);
|
vec4 fragColor2 = vec4(0.0, 1.0, 0.0, 1.0);
|
||||||
switch (pattern) {
|
switch (pattern) {
|
||||||
case 0:
|
case 0:
|
||||||
gl_FragColor = mix(fragColor1, fragColor2, fragValue);
|
gl_FragColor = vec4(hsvToRgb(vec3(fragValue, 1, 1)), 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
gl_FragColor = mix(fragColor1, fragColor2, step(0.5, fragValue));
|
gl_FragColor = vec4(hsvToRgb(vec3(0, fragValue, 1)), 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
gl_FragColor = mix(fragColor1, fragColor2, smoothstep(0.4, 0.6, fragValue));
|
gl_FragColor = vec4(hsvToRgb(vec3(0, 1, fragValue)), 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
|
|
Loading…
Reference in New Issue