1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
define(function(require, exports){
exports.hue2rgb = function hue2rgb(p, q, t){
if(t < 0.) {
t += 1.;
}
else {
if(t > 1.) t -= 1.;
}
if(t < 1./6.) return p + (q - p) * 6. * t;
if(t < 1./2.) return q;
if(t < 2./3.) return p + (q - p) * (2./3. - t) * 6.;
return p;
}
exports.hsla = function( hlsa){
var h = hlsa.x;
var s = hlsa.y;
var l = hlsa.z;
var r = 0.0;
var g = 0.0;
var b = 0.0;
if(s == 0.0){
r = g = b = l;
}else{
var q = l < 0.5 ? l * (1.0 + s) : l + s - l * s;
var p = 2.0 * l - q;
r = this.hue2rgb(p, q, h + 1./3.);
g = this.hue2rgb(p, q, h);
b = this.hue2rgb(p, q, h - 1./3.);
}
return vec4(r,g,b,hlsa.w);
}
exports.hsva = function( hsva){
var h = hsva.x * 360;
var s = hsva.y ;
var v = hsva.z ;
var r = 0.0;
var g = 0.0;
var b = 0.0;
if (h<0.) h+=360.;
if(s == 0.0){
r = g = b = v;
}else{
var t1 = v;
var t2 = (1. - s) * v;
var t3 = (t1 - t2) * (mod(h ,60.) ) / 60.;
if (h == 360.) h = 0.;
if (h < 60.) { r = t1; b = t2; g = t2 + t3 }
else if (h < 120.) { g = t1; b = t2; r = t1 - t3 }
else if (h < 180.) { g = t1; r = t2; b = t2 + t3 }
else if (h < 240.) { b = t1; r = t2; g = t1 - t3 }
else if (h < 300.) { b = t1; g = t2; r = t2 + t3 }
else if (h < 360.) { r = t1; g = t2; b = t1 - t3 }
else { r = 0.; g = 0.; b = 0. }
}
return vec4(r,g,b,hsva.w);
}
}) |