@@ -33,74 +33,74 @@ float noise (in vec2 _st) {
33
33
(d - b) * u.x * u.y;
34
34
}
35
35
36
- // float snoise(vec3 v){
37
- // const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;
38
- // const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);
36
+ float snoise(vec3 v){
37
+ const vec2 C = vec2 (1.0 / 6.0 , 1.0 / 3.0 ) ;
38
+ const vec4 D = vec4 (0.0 , 0.5 , 1.0 , 2.0 );
39
39
40
40
// First corner
41
- // vec3 i = floor(v + dot(v, C.yyy) );
42
- // vec3 x0 = v - i + dot(i, C.xxx) ;
41
+ vec3 i = floor (v + dot (v, C.yyy) );
42
+ vec3 x0 = v - i + dot (i, C.xxx) ;
43
43
44
44
// Other corners
45
- // vec3 g = step(x0.yzx, x0.xyz);
46
- // vec3 l = 1.0 - g;
47
- // vec3 i1 = min( g.xyz, l.zxy );
48
- // vec3 i2 = max( g.xyz, l.zxy );
45
+ vec3 g = step (x0.yzx, x0.xyz);
46
+ vec3 l = 1.0 - g;
47
+ vec3 i1 = min ( g.xyz, l.zxy );
48
+ vec3 i2 = max ( g.xyz, l.zxy );
49
49
50
- // x0 = x0 - 0. + 0.0 * C
51
- // vec3 x1 = x0 - i1 + 1.0 * C.xxx;
52
- // vec3 x2 = x0 - i2 + 2.0 * C.xxx;
53
- // vec3 x3 = x0 - 1. + 3.0 * C.xxx;
50
+ x0 = x0 - 0 . + 0.0 * C
51
+ vec3 x1 = x0 - i1 + 1.0 * C.xxx;
52
+ vec3 x2 = x0 - i2 + 2.0 * C.xxx;
53
+ vec3 x3 = x0 - 1 . + 3.0 * C.xxx;
54
54
55
55
// Permutations
56
- // i = mod(i, 289.0 );
57
- // vec4 p = permute( permute( permute(
58
- // i.z + vec4(0.0, i1.z, i2.z, 1.0 ))
59
- // + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))
60
- // + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));
56
+ i = mod (i, 289.0 );
57
+ vec4 p = permute( permute( permute(
58
+ i.z + vec4 (0.0 , i1.z, i2.z, 1.0 ))
59
+ + i.y + vec4 (0.0 , i1.y, i2.y, 1.0 ))
60
+ + i.x + vec4 (0.0 , i1.x, i2.x, 1.0 ));
61
61
62
62
// Gradients
63
63
// ( N*N points uniformly over a square, mapped onto an octahedron.)
64
- // float n_ = 1.0/7.0; // N=7
65
- // vec3 ns = n_ * D.wyz - D.xzx;
64
+ float n_ = 1.0 / 7.0 ; // N=7
65
+ vec3 ns = n_ * D.wyz - D.xzx;
66
66
67
- // vec4 j = p - 49.0 * floor(p * ns.z *ns.z); // mod(p,N*N)
67
+ vec4 j = p - 49.0 * floor (p * ns.z * ns.z); // mod(p,N*N)
68
68
69
- // vec4 x_ = floor(j * ns.z);
70
- // vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)
69
+ vec4 x_ = floor (j * ns.z);
70
+ vec4 y_ = floor (j - 7.0 * x_ ); // mod(j,N)
71
71
72
- // vec4 x = x_ *ns.x + ns.yyyy;
73
- // vec4 y = y_ *ns.x + ns.yyyy;
74
- // vec4 h = 1.0 - abs(x) - abs(y);
72
+ vec4 x = x_ * ns.x + ns.yyyy;
73
+ vec4 y = y_ * ns.x + ns.yyyy;
74
+ vec4 h = 1.0 - abs (x) - abs (y);
75
75
76
- // vec4 b0 = vec4( x.xy, y.xy );
77
- // vec4 b1 = vec4( x.zw, y.zw );
76
+ vec4 b0 = vec4 ( x.xy, y.xy );
77
+ vec4 b1 = vec4 ( x.zw, y.zw );
78
78
79
- // vec4 s0 = floor(b0)*2.0 + 1.0;
80
- // vec4 s1 = floor(b1)*2.0 + 1.0;
81
- // vec4 sh = -step(h, vec4(0.0));
79
+ vec4 s0 = floor (b0)* 2.0 + 1.0 ;
80
+ vec4 s1 = floor (b1)* 2.0 + 1.0 ;
81
+ vec4 sh = - step (h, vec4 (0.0 ));
82
82
83
- // vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;
84
- // vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;
83
+ vec4 a0 = b0.xzyw + s0.xzyw* sh.xxyy ;
84
+ vec4 a1 = b1.xzyw + s1.xzyw* sh.zzww ;
85
85
86
- // vec3 p0 = vec3(a0.xy,h.x);
87
- // vec3 p1 = vec3(a0.zw,h.y);
88
- // vec3 p2 = vec3(a1.xy,h.z);
89
- // vec3 p3 = vec3(a1.zw,h.w);
86
+ vec3 p0 = vec3 (a0.xy,h.x);
87
+ vec3 p1 = vec3 (a0.zw,h.y);
88
+ vec3 p2 = vec3 (a1.xy,h.z);
89
+ vec3 p3 = vec3 (a1.zw,h.w);
90
90
91
91
// Normalise gradients
92
- // vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
93
- // p0 *= norm.x;
94
- // p1 *= norm.y;
95
- // p2 *= norm.z;
96
- // p3 *= norm.w;
92
+ vec4 norm = taylorInvSqrt(vec4 (dot (p0,p0), dot (p1,p1), dot (p2, p2), dot (p3,p3)));
93
+ p0 *= norm.x;
94
+ p1 *= norm.y;
95
+ p2 *= norm.z;
96
+ p3 *= norm.w;
97
97
98
98
// Mix final noise value
99
- // vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);
100
- // m = m * m;
101
- // return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),
102
- // dot(p2,x2), dot(p3,x3) ) );
103
- // }
99
+ vec4 m = max (0.6 - vec4 (dot (x0,x0), dot (x1,x1), dot (x2,x2), dot (x3,x3)), 0.0 );
100
+ m = m * m;
101
+ return 42.0 * dot ( m* m, vec4 ( dot (p0,x0), dot (p1,x1),
102
+ dot (p2,x2), dot (p3,x3) ) );
103
+ }
104
104
105
105
// float fractalBrownianMotion ( in vec3 _st) {
106
106
// float v = 0.0;
@@ -156,10 +156,10 @@ void main()
156
156
157
157
// Time varying pixel color
158
158
vec3 color = vec3 (0.25 );
159
- // vec3 p = vec3(st*2.0, iTime*0.1);
160
- // vec3 q;
161
- // vec3 r;
162
- // color = vec3(snoise(p));
159
+ vec3 p = vec3 (st* 2.0 , iTime* 0.1 );
160
+ vec3 q;
161
+ vec3 r;
162
+ color = vec3 (snoise(p));
163
163
// color = vec3(pattern( p, q, r ) + 0.3);
164
164
// float f = pattern( p, q, r );
165
165
// float percent = clamp(f*f*4.0, 0.0, 1.0);
@@ -170,7 +170,6 @@ void main()
170
170
// color = mix(color, darkRust, percent);
171
171
172
172
// Output to screen
173
- // gl_FragColor = vec4(color,1.0);
174
173
gl_FragColor = vec4 (color,1.0 );
175
174
// vec2 uv = gl_FragCoord.xy / u_resolution.xy;
176
175
// gl_FragColor = vec4(uv.x, 0.0, uv.y, 1.0);
0 commit comments