Skip to content

Commit 7394bd9

Browse files
committed
put up data
1 parent 1e921ea commit 7394bd9

File tree

11,606 files changed

+256532
-6
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

11,606 files changed

+256532
-6
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Set the default behavior, in case people don't have core.autocrlf set.
2+
* text=auto
3+

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*.pyc
2+
.DS_Store
3+
node_modules
4+
out
5+
extra
6+

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# vertexshaderart.com is offline
1+
# vertexshaderart.com is in transition
22

33
Soundcloud changed their API and I can't be bothered to fix this code.
44
Tools are out of date etc and it's just too much work for a site that
@@ -9,10 +9,11 @@ more than once causing a bunch of work. Artists delete their accounts, or
99
delete songs, or change permissions
1010
and then the visualizations here are left non-working.
1111

12-
I thought about maybe trying to find a few 1000s free tracks
13-
and upload them somewhere streamable but that would also be
14-
too much work.
12+
So, I took the server offline. It ran for ~9 years.
1513

16-
So, I took the site offline.
14+
I'm working on putting up the data. Unfortunately, without soundcloud,
15+
most of the visualizations will do nothing. I will look into putting in
16+
some random music and/or provide options to use other sources of music.
1717

18-
It ran for ~9 years.
18+
I will also probably try to make new stuff url based so it's entirely a
19+
static website.

art/22RaBcCzsbaXEzCh5/art.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"_id": "22RaBcCzsbaXEzCh5",
3+
"owner": {
4+
"_id": "DMjrQbvFJZiBrahNH",
5+
"createdAt": {
6+
"$date": {
7+
"$numberLong": "1684316626390"
8+
}
9+
},
10+
"profile": {
11+
"name": null,
12+
"avatarUrl": "https://avatars.githubusercontent.com/JeminShin2?s=200"
13+
},
14+
"username": "jeminshin2"
15+
},
16+
"createdAt": {
17+
"$date": {
18+
"$numberLong": "1684316663590"
19+
}
20+
},
21+
"modifiedAt": {
22+
"$date": {
23+
"$numberLong": "1684316857456"
24+
}
25+
},
26+
"origId": null,
27+
"name": "Making A Grid",
28+
"notes": "",
29+
"rank": {
30+
"$numberDouble": "1.6403155062990533"
31+
},
32+
"private": false,
33+
"unlisted": true,
34+
"username": "jeminshin2",
35+
"avatarUrl": "https://avatars.githubusercontent.com/JeminShin2?s=200",
36+
"settings": "{\"num\":10000,\"mode\":\"LINES\",\"sound\":\"\",\"lineSize\":\"NATIVE\",\"backgroundColor\":[0,0,0,1],\"shader\":\"// Jemin.Shin\\n// Exercise Making A Grid\\n// CS250 Spring 2022\\n\\nvoid main() {\\n float down = floor(sqrt(vertexCount));\\n float across = floor(vertexCount/down);\\n \\n float x = mod(vertexId, across);\\n float y = floor(vertexId/across);\\n \\n float u = x / (across - 1.);\\n float v = y / (across - 1.);\\n \\n float ux = u * 2. - 1.;\\n float vy = v * 2. - 1.;\\n \\n gl_Position = vec4(ux * sin(time), vy * cos(time), 0., 0.5);\\n \\n gl_PointSize = 10.0;\\n gl_PointSize *= 20./across;\\n gl_PointSize *= resolution.x / 400.;\\n \\n \\n v_color = vec4(1,0,0,1);\\n \\n}\"}",
37+
"screenshotURL": "data/images/images-d2fsmpwp2mvlmqnit-thumbnail.jpg",
38+
"hasSound": "",
39+
"views": {
40+
"$numberInt": "2"
41+
},
42+
"likes": {
43+
"$numberInt": "0"
44+
},
45+
"revisionId": "KzeoJ5ejF8jQ3XPrm"
46+
}

art/22RaBcCzsbaXEzCh5/index.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
5+
<meta charset="utf-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
7+
8+
<meta name="description" content="vertexshaderart">
9+
<meta name="keywords" content="webgl glsl graphics">
10+
<meta name="thumbnail" content="https://vertexshaderart.com/data/images/images-d2fsmpwp2mvlmqnit-thumbnail.jpg">
11+
12+
<meta property="og:title" content="vertexshaderart - Making A Grid - by jeminshin2">
13+
<meta property="og:type" content="website">
14+
<meta property="og:image" content="https://vertexshaderart.com/data/images/images-d2fsmpwp2mvlmqnit-thumbnail.jpg">
15+
<meta property="og:description" content="vertexshadertart">
16+
<meta property="og:url" content="https://vertexshaderart.com/art/22RaBcCzsbaXEzCh5">
17+
18+
<meta name="twitter:card" content="summary_large_image">
19+
<meta name="twitter:domain" content="webgpufundamentals.org">
20+
<meta name="twitter:title" content="vertexshaderart - Making A Grid - by jeminshin2">
21+
<meta name="twitter:url" content="https://vertexshaderart.com/art/22RaBcCzsbaXEzCh5">
22+
<meta name="twitter:description" content="vertexshaderart">
23+
<meta name="twitter:image:src" content=https://vertexshaderart.com/data/images/images-d2fsmpwp2mvlmqnit-thumbnail.jpg">
24+
25+
<title>vertexshaderart - Making A Grid - by jeminshin2</title>
26+
27+
<link rel="stylesheet" href="../../style.css">
28+
</head>
29+
<body>
30+
<iframe src="../../src/?art=22RaBcCzsbaXEzCh5"
31+
</body>
32+
</html>

art/23ezRZjpZK82TqNJr/art.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"_id": "23ezRZjpZK82TqNJr",
3+
"owner": {
4+
"_id": "B7Kfai5f9h3MxwJcP",
5+
"createdAt": {
6+
"$date": {
7+
"$numberLong": "1445777397953"
8+
}
9+
},
10+
"username": "gman",
11+
"profile": {
12+
"info": "&nbsp;&nbsp;contact: [@greggman](http://twitter.com/greggman), [github](http://github.com/greggman), [blog](http://greggman.com)\nnew stuff: [webgl](http://webglfundamentals.com), [twgl](http://twgljs.org), [threejsfundamentals](https://threejsfundamentals.org)\nold stuff: [chrome](http://chromium.org), [locoroco](https://www.youtube.com/watch?v=pFKpyScxv0k), [CTR](https://www.youtube.com/watch?v=3O8FK5d67cM), [Zombie Revenge](https://www.youtube.com/watch?v=Xw8yNik8Q-A), [and others...](http://games.greggman.com/game/games_o_the_greggman/)\n\nSome stuff you might want to look at\n\n* [A uniform grid based on `vertexCount` and the window dimensions](https://www.vertexshaderart.com/art/NPohkmBgKdTBhML8P)\n* [Tons of matrix functions](https://www.vertexshaderart.com/art/nr3EiyXWLMpwoouHt)\n\nNote: All the shaders I've posted are licensed [CC0](https://creativecommons.org/publicdomain/zero/1.0/)",
13+
"avatarUrl": "https://secure.gravatar.com/avatar/dcc0309895c3d6db087631813efaa9d1?default=retro&size=200"
14+
}
15+
},
16+
"createdAt": {
17+
"$date": {
18+
"$numberLong": "1451079504674"
19+
}
20+
},
21+
"modifiedAt": {
22+
"$date": {
23+
"$numberLong": "1545783344624"
24+
}
25+
},
26+
"origId": "bpN3ufoDGdkJjxFsQ",
27+
"name": "xmas",
28+
"notes": "",
29+
"rank": {
30+
"$numberDouble": "10.853248709487326"
31+
},
32+
"private": false,
33+
"unlisted": false,
34+
"username": "gman",
35+
"avatarUrl": "https://secure.gravatar.com/avatar/dcc0309895c3d6db087631813efaa9d1?default=retro&size=200",
36+
"settings": "{\"num\":100000,\"mode\":\"TRIANGLES\",\"sound\":\"https://soundcloud.com/user-811313743/a-charlie-brown-christmas-skating\",\"lineSize\":\"NATIVE\",\"backgroundColor\":[0,0.5882352941176471,0.6901960784313725,1],\"shader\":\"/*\\n\\n _____, ____, ___, ___, __ _, \\n(-| | | (-|_, (-|_) (-|_) (-\\\\ | \\n _| | |_, _|__, _| \\\\_, _| \\\\_, \\\\| \\n( ( ( ( (__/ \\n ____ __ _, ___, ____, ____ ____, _____, ___, ____ \\n (-/ ` (-|__| (-|_) (-| (-(__`(-| (-| | | (-|_\\\\_,(-(__`\\n \\\\___, _| |_, _| \\\\_, _|__, ____) _| _| | |_, _| ) ____)\\n ( ( ( ( ( ( ( ( \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n*/\\n\\n#define PI radians(180.0)\\n\\nvec3 hsv2rgb(vec3 c) {\\n c = vec3(c.x, clamp(c.yz, 0.0, 1.0));\\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\n\\n\\nmat4 rotY( float angle ) {\\n float s = sin( angle );\\n float c = cos( angle );\\n \\t\\n return mat4( \\n c, 0,-s, 0,\\n 0, 1, 0, 0,\\n s, 0, c, 0,\\n 0, 0, 0, 1); \\n}\\n\\n\\nmat4 rotZ( float angle ) {\\n float s = sin( angle );\\n float c = cos( angle );\\n \\t\\n return mat4( \\n c,-s, 0, 0, \\n s, c, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1); \\n}\\n\\nmat4 trans(vec3 trans) {\\n return mat4(\\n 1, 0, 0, 0,\\n 0, 1, 0, 0,\\n 0, 0, 1, 0,\\n trans, 1);\\n}\\n\\nmat4 ident() {\\n return mat4(\\n 1, 0, 0, 0,\\n 0, 1, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1);\\n}\\n\\nmat4 scale(vec3 s) {\\n return mat4(\\n s[0], 0, 0, 0,\\n 0, s[1], 0, 0,\\n 0, 0, s[2], 0,\\n 0, 0, 0, 1);\\n}\\n\\nmat4 uniformScale(float s) {\\n return mat4(\\n s, 0, 0, 0,\\n 0, s, 0, 0,\\n 0, 0, s, 0,\\n 0, 0, 0, 1);\\n}\\n\\nmat4 persp(float fov, float aspect, float zNear, float zFar) {\\n float f = tan(PI * 0.5 - 0.5 * fov);\\n float rangeInv = 1.0 / (zNear - zFar);\\n\\n return mat4(\\n f / aspect, 0, 0, 0,\\n 0, f, 0, 0,\\n 0, 0, (zNear + zFar) * rangeInv, -1,\\n 0, 0, zNear * zFar * rangeInv * 2., 0);\\n}\\n\\nmat4 trInv(mat4 m) {\\n mat3 i = mat3(\\n m[0][0], m[1][0], m[2][0], \\n m[0][1], m[1][1], m[2][1], \\n m[0][2], m[1][2], m[2][2]);\\n vec3 t = -i * m[3].xyz;\\n \\n return mat4(\\n i[0], t[0], \\n i[1], t[1],\\n i[2], t[2],\\n 0, 0, 0, 1);\\n}\\n\\nmat4 transpose(mat4 m) {\\n return mat4(\\n m[0][0], m[1][0], m[2][0], m[3][0], \\n m[0][1], m[1][1], m[2][1], m[3][1],\\n m[0][2], m[1][2], m[2][2], m[3][2],\\n m[0][3], m[1][3], m[2][3], m[3][3]);\\n}\\n\\nmat4 lookAt(vec3 eye, vec3 target, vec3 up) {\\n vec3 zAxis = normalize(eye - target);\\n vec3 xAxis = normalize(cross(up, zAxis));\\n vec3 yAxis = cross(zAxis, xAxis);\\n\\n return mat4(\\n xAxis, 0,\\n yAxis, 0,\\n zAxis, 0,\\n eye, 1);\\n}\\n\\nmat4 inverse(mat4 m) {\\n float\\n a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\\n a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\\n a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\\n a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\\n\\n b00 = a00 * a11 - a01 * a10,\\n b01 = a00 * a12 - a02 * a10,\\n b02 = a00 * a13 - a03 * a10,\\n b03 = a01 * a12 - a02 * a11,\\n b04 = a01 * a13 - a03 * a11,\\n b05 = a02 * a13 - a03 * a12,\\n b06 = a20 * a31 - a21 * a30,\\n b07 = a20 * a32 - a22 * a30,\\n b08 = a20 * a33 - a23 * a30,\\n b09 = a21 * a32 - a22 * a31,\\n b10 = a21 * a33 - a23 * a31,\\n b11 = a22 * a33 - a23 * a32,\\n\\n det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\\n\\n return mat4(\\n a11 * b11 - a12 * b10 + a13 * b09,\\n a02 * b10 - a01 * b11 - a03 * b09,\\n a31 * b05 - a32 * b04 + a33 * b03,\\n a22 * b04 - a21 * b05 - a23 * b03,\\n a12 * b08 - a10 * b11 - a13 * b07,\\n a00 * b11 - a02 * b08 + a03 * b07,\\n a32 * b02 - a30 * b05 - a33 * b01,\\n a20 * b05 - a22 * b02 + a23 * b01,\\n a10 * b10 - a11 * b08 + a13 * b06,\\n a01 * b08 - a00 * b10 - a03 * b06,\\n a30 * b04 - a31 * b02 + a33 * b00,\\n a21 * b02 - a20 * b04 - a23 * b00,\\n a11 * b07 - a10 * b09 - a12 * b06,\\n a00 * b09 - a01 * b07 + a02 * b06,\\n a31 * b01 - a30 * b03 - a32 * b00,\\n a20 * b03 - a21 * b01 + a22 * b00) / det;\\n}\\n\\nmat4 cameraLookAt(vec3 eye, vec3 target, vec3 up) {\\n #if 1\\n return inverse(lookAt(eye, target, up));\\n #else\\n vec3 zAxis = normalize(target - eye);\\n vec3 xAxis = normalize(cross(up, zAxis));\\n vec3 yAxis = cross(zAxis, xAxis);\\n\\n return mat4(\\n xAxis, 0,\\n yAxis, 0,\\n zAxis, 0,\\n -dot(xAxis, eye), -dot(yAxis, eye), -dot(zAxis, eye), 1); \\n #endif\\n \\n}\\n// hash function from https://www.shadertoy.com/view/4djSRW\\nfloat hash(float p) {\\n\\tvec2 p2 = fract(vec2(p * 5.3983, p * 5.4427));\\n p2 += dot(p2.yx, p2.xy + vec2(21.5351, 14.3137));\\n\\treturn fract(p2.x * p2.y * 95.4337);\\n}\\n\\nfloat m1p1(float v) {\\n return v * 2. - 1.;\\n}\\n\\nfloat inv(float v) {\\n return 1. - v;\\n}\\n\\nvec3 getQPoint(const float id) {\\n float outId = mix(id, 8. - id, step(2.5, id));\\n float ux = floor(outId / 6.) + mod(outId, 2.);\\n float vy = mod(floor(outId / 2.) + floor(outId / 3.), 2.); \\n vec3 pos = vec3(ux, vy, 0); \\n return pos;\\n}\\n\\nvoid main() {\\n float vId = vertexId;\\n float numStems = 6.;\\n float quadsPerStem = 5.;\\n float pointsPerStem = quadsPerStem * 6.;\\n float pointsPerFlake = pointsPerStem * numStems;\\n float numFlakes = floor(vertexCount / pointsPerFlake);\\n float quadId = mod(floor(vId / 6.), quadsPerStem);\\n float stemId = floor(vId / pointsPerStem);\\n float flakeId = floor(vId / pointsPerFlake);\\n float stemV = stemId / numStems;\\n float flakeV = flakeId / numFlakes;\\n \\n vec3 p = getQPoint(mod(vId, 6.));\\n \\n vec3 camera = vec3(0, 0, 1);\\n vec3 target = vec3(0, 0, 0);\\n vec3 up = vec3(0, 1, 0);\\n \\n float z = hash(flakeId) * -10.;\\n\\n mat4 m = persp(radians(45.), resolution.x / resolution.y, 0.1, 20.);\\n m *= cameraLookAt(camera, target, up);\\n m *= trans(vec3(\\n (z + 1.5) * 1. * m1p1(hash(flakeId * 0.171)) + 0.05 * sin(time * mix(0.91, 0.2, hash(flakeId * 0.951))), \\n mix(1.5, -1.5, fract(hash(flakeId * .654) + time * mix(0.01, 0.03, hash(flakeId * 0.543)))), \\n z));\\n m *= uniformScale(mix(0.05, 0.1, hash(flakeId * 0.243)));\\n m *= rotZ(time * hash(flakeId));\\n m *= rotY(time * hash(flakeId));\\n m *= rotZ(stemV * PI * 2. + mix(1.5, -1.5, fract(time * mix(-0.3, 0.3, hash(flakeId * 0.843)))));\\n m *= scale(vec3(0.1, m1p1(hash(flakeId * 0.123 + quadId * 0.711 + p.x)) * 0.3, 1));\\n m *= trans(vec3(quadId, -0.5, 0));\\n gl_Position = m * vec4(p, 1);\\n \\n v_color = vec4(1);\\n v_color.a = mix(1.0, 0.0, hash(flakeId));\\n v_color = vec4(v_color.rgb * v_color.a, v_color.a);\\n}\"}",
37+
"screenshotURL": "data/images/images-w1f0zzufayogu5orv-thumbnail.jpg",
38+
"hasSound": true,
39+
"views": {
40+
"$numberInt": "732"
41+
},
42+
"likes": {
43+
"$numberInt": "6"
44+
},
45+
"revisionId": "GFfdfWjMoqChPBxf9"
46+
}

art/23ezRZjpZK82TqNJr/index.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
5+
<meta charset="utf-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
7+
8+
<meta name="description" content="vertexshaderart">
9+
<meta name="keywords" content="webgl glsl graphics">
10+
<meta name="thumbnail" content="https://vertexshaderart.com/data/images/images-w1f0zzufayogu5orv-thumbnail.jpg">
11+
12+
<meta property="og:title" content="vertexshaderart - xmas - by gman">
13+
<meta property="og:type" content="website">
14+
<meta property="og:image" content="https://vertexshaderart.com/data/images/images-w1f0zzufayogu5orv-thumbnail.jpg">
15+
<meta property="og:description" content="vertexshadertart">
16+
<meta property="og:url" content="https://vertexshaderart.com/art/23ezRZjpZK82TqNJr">
17+
18+
<meta name="twitter:card" content="summary_large_image">
19+
<meta name="twitter:domain" content="webgpufundamentals.org">
20+
<meta name="twitter:title" content="vertexshaderart - xmas - by gman">
21+
<meta name="twitter:url" content="https://vertexshaderart.com/art/23ezRZjpZK82TqNJr">
22+
<meta name="twitter:description" content="vertexshaderart">
23+
<meta name="twitter:image:src" content=https://vertexshaderart.com/data/images/images-w1f0zzufayogu5orv-thumbnail.jpg">
24+
25+
<title>vertexshaderart - xmas - by gman</title>
26+
27+
<link rel="stylesheet" href="../../style.css">
28+
</head>
29+
<body>
30+
<iframe src="../../src/?art=23ezRZjpZK82TqNJr"
31+
</body>
32+
</html>

art/23rhC2bHw8GtaXfa3/art.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"_id": "23rhC2bHw8GtaXfa3",
3+
"owner": {
4+
"_id": "8zztH8K59zQaKjuQX",
5+
"createdAt": {
6+
"$date": {
7+
"$numberLong": "1677359387406"
8+
}
9+
},
10+
"profile": {
11+
"first_name": "James",
12+
"last_name": "Andrew",
13+
"avatarUrl": "https://lh3.googleusercontent.com/a/AGNmyxa3JZWJm88yunQiCwAfn9zM-tkF1s8O-hJsYEynRw=s96-c"
14+
},
15+
"username": "james2"
16+
},
17+
"createdAt": {
18+
"$date": {
19+
"$numberLong": "1677785484409"
20+
}
21+
},
22+
"modifiedAt": {
23+
"$date": {
24+
"$numberLong": "1677785484409"
25+
}
26+
},
27+
"origId": null,
28+
"name": "Amoeba 1",
29+
"notes": "The Amoeba",
30+
"rank": {
31+
"$numberDouble": "1.7558558945872287"
32+
},
33+
"private": false,
34+
"unlisted": true,
35+
"username": "james2",
36+
"avatarUrl": "https://lh3.googleusercontent.com/a/AGNmyxa3JZWJm88yunQiCwAfn9zM-tkF1s8O-hJsYEynRw=s96-c",
37+
"settings": "{\"num\":20000,\"mode\":\"LINE_LOOP\",\"sound\":\"\",\"lineSize\":\"NATIVE\",\"backgroundColor\":[0,0,0,1],\"shader\":\"//KDrawmode=GL_LINE_LOOP\\n//KVerticesNumber=20000\\n\\n#define turning 1.4//KParameter0 1.4>>100.\\n#define rotateXcos 1.//KParameter1 1.>>5.\\n#define rotateYcos 1.//KParameter2 1.>>5.\\n#define rotateZcos 1.//KParameter3 1.>>5.\\n#define spikeFactor 4. //KParameter4 1.>>10.\\n#define spikeFactor2 4. //KParameter5 1.>>100.\\n\\n#define PI radians(180.)\\n\\nvec3 hsv2rgb(vec3 c) {\\n c = vec3(c.x, clamp(c.yz, 0.0, 1.0));\\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\n\\nstruct point {\\n vec3 position;\\n float a;\\n float b;\\n float rad;\\n float snd;\\n};\\n\\npoint getPoint(float i) {\\n\\n float pointsPerTurn = floor(sqrt(vertexCount) * 2.);\\n pointsPerTurn -= mod(pointsPerTurn, 16.);\\n pointsPerTurn++;\\n float turns = vertexCount / pointsPerTurn;\\n \\n float a = (PI + PI / turns) * i; //(acos(1.0 - 2.0 * i) / PI);\\n float b = 2. * PI * i * turns;\\n \\n\\n a -= mod(vertexId, 2.) * PI / (turns - 1.);\\n a = clamp(a, 0., PI);\\n\\n \\n float spike = pow(cos(a * spikeFactor), 4.);\\n bool middle = a > PI / 8. && a < PI * 7. / 8.;\\n if (middle) {\\n\\t spike *= pow(sin(b * spikeFactor2), 4.);\\n }\\n \\n float snd = pow(texture2D(sound, vec2(0.005, spike*0.025)).a, 4.);\\n\\n float rad = 0.35; \\n rad += spike * 0.35;\\n rad += snd * 0.2; \\n\\n \\n float x = sin(a);\\n float y = cos(a); \\n float z = sin(b) * x;\\n x *= cos(b);\\n \\n return point(vec3(x, y, z) * rad, a, b, rad, snd); \\t\\n}\\n\\nvoid main() {\\n \\n point p1 = getPoint(vertexId / vertexCount);\\n// point p2 = getPoint((vertexId - 1.) / vertexCount);\\n// point p3 = getPoint((vertexId - 2.) / vertexCount);\\n// vec3 normal = normalize(cross(p2.position - p1.position, p3.position - p1.position));\\n \\n \\n float mx = sin(time - p1.rad) * turning;\\n// float mx = PI * -mouse.y;\\n float my = time - p1.rad;\\n// float my = PI * -mouse.x;\\n float mz = sin(time * 0.44 - p1.rad);\\n mat2 rotateX = mat2(cos(mx)*rotateXcos, -sin(mx), sin(mx), cos(mx));\\n mat2 rotateY = mat2(cos(my)*rotateYcos, -sin(my), sin(my), cos(my));\\n mat2 rotateZ = mat2(cos(mz)*rotateZcos, -sin(mz), sin(mz), cos(mz));\\n\\n p1.position.yz *= rotateX;\\n p1.position.xz *= rotateY;\\n p1.position.xy *= rotateZ; \\n\\n \\n float screenZ = -0.;\\n float eyeZ = -4.5;\\n float perspective = (eyeZ - screenZ) / (p1.position.z - eyeZ);\\n p1.position.xy *= perspective;\\n \\n float aspect = resolution.x / resolution.y;\\n p1.position.x /= aspect;\\n \\n gl_Position = vec4(p1.position, 1);\\n \\n gl_PointSize = 2. - p1.position.z * 5.;\\n\\n\\n float h = fract(p1.b / (2. * PI));\\n float s = (p1.rad - 0.5 * p1.snd) * 3.;\\n \\n if (p1.a < PI / 8.) {\\n \\ts = mix(s, 0., 1. - p1.a / (PI / 8.));\\n } else if (p1.a > PI * 7. / 8.) {\\n \\ts = mix(s, 0., 1. - (PI - p1.a) / (PI / 8.)); \\n }\\n float v = 0.4 - p1.position.z * 2.;\\n// float v = normal.z * 0.5 + 0.5; \\n \\n v_color = vec4(hsv2rgb(vec3(h, s, v)), 1);\\n}\"}",
38+
"screenshotURL": "data/images/images-hv1jz5edj50qxtz7o-thumbnail.jpg",
39+
"hasSound": "",
40+
"views": {
41+
"$numberInt": "3"
42+
},
43+
"likes": {
44+
"$numberInt": "0"
45+
},
46+
"revisionId": "GHTGeuTJ9t3kqf4FA"
47+
}

0 commit comments

Comments
 (0)