-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathAkiyoshiDream.fs
64 lines (62 loc) · 1.27 KB
/
AkiyoshiDream.fs
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
/*{
"CREDIT" : "AkiyoshiDream by bigblueboo",
"CATEGORIES" : [
"ci"
],
"DESCRIPTION": "",
"INPUTS": [
{
"NAME": "inputImage",
"TYPE" : "image"
},
{
"NAME": "iZoom",
"TYPE" : "float",
"MIN" : 0.0,
"MAX" : 1.0,
"DEFAULT" : 1.0
},
{
"NAME": "iSteps",
"TYPE" : "float",
"MIN" : 2.0,
"MAX" : 75.0,
"DEFAULT" : 19.0
},
{
"NAME" :"iMouse",
"TYPE" : "point2D",
"DEFAULT" : [0.0, 0.0],
"MAX" : [640.0, 480.0],
"MIN" : [0.0, 0.0]
},
{
"NAME": "iColor",
"TYPE" : "color",
"DEFAULT" : [
0.9,
0.6,
0.0,
1.0
]
}
],
}
*/
// https://www.shadertoy.com/view/ldsSRS
const float PI = 3.14159265358979323846264;
void main(void)
{
vec2 uv = iZoom * gl_FragCoord.xy / RENDERSIZE.xy;
uv.x -= 0.0;
uv.y -= 0.0;
vec2 coord = uv - vec2(.5,.5);
coord.y *= RENDERSIZE.y / RENDERSIZE.x;
float angle = atan(coord.y, coord.x);
float dist = length(coord);
float brightness = .25 + .25 *
sin(48.0*angle + dist*PI + sin(angle*1.0)*(dist + (.5+.5*sin(-PI/2.0+TIME*PI))*mod(TIME,2.0)) * 2.0 * PI);
brightness += .25 + .25 * sin(pow(dist,.5) / .707 * PI * 32.0 - TIME * PI * .5);
if (dist < .01) brightness *= (dist / .01);
fragColor = vec4(brightness, brightness, brightness,1.0);
}