blob: c62547fc75694346bf99a14a50de77ad029a7e62 [file] [log] [blame]
Skyler Grey3eef73c2022-05-25 10:41:04 +01001#extension GL_OES_standard_derivatives : enable
2
3precision highp float;
4
5uniform float time;
6uniform vec2 mouse;
7uniform vec2 resolution;
8
9vec3 white = vec3(1, 1, 1);
10vec3 amaranth_pink = vec3(0.945, 0.612, 0.733);
11vec3 maya_blue = vec3(0.298, 0.624, 0.886);
12
Skyler Grey397535e2022-05-25 11:47:09 +010013vec3 color_for_position (vec2 position) {
Skyler Grey3eef73c2022-05-25 10:41:04 +010014 vec3 color = white;
15
Skyler Grey397535e2022-05-25 11:47:09 +010016 if (sin(position.x + time / 30.0) / 2.0 - position.y + 0.4 < 0.0) {
Skyler Grey3eef73c2022-05-25 10:41:04 +010017 color = amaranth_pink;
Skyler Grey397535e2022-05-25 11:47:09 +010018 } else if (sin(position.x / 5.0 + time / 21.0 + 20.0) / 2.0 - position.y + 0.5 < 0.0) {
Skyler Grey3eef73c2022-05-25 10:41:04 +010019 color = maya_blue;
20 }
21
Skyler Grey397535e2022-05-25 11:47:09 +010022 return color;
23}
Skyler Grey3eef73c2022-05-25 10:41:04 +010024
Skyler Grey397535e2022-05-25 11:47:09 +010025void main( void ) {
26 vec2 position = ( gl_FragCoord.xy / resolution.xy );
27
28/* float r = 0.0;
29 float g = 0.0;
30 float b = 0.0;
31
32 for (float x = -10.0; x <= 10.0; x++) {
33 for (float y = -5.0; y <= 5.0; y++) {
34 vec3 color = color_for_position(
35 vec2(
36 (x / resolution.x) + position.x,
37 (y / resolution.y) + position.y
38 )
39 );
40 r += color.x;
41 g += color.y;
42 b += color.z;
43 }
44 }
45
46 float blur = 11.0 * 21.0;
47
48 r /= blur;
49 g /= blur;
50 b /= blur;
51
52 gl_FragColor = vec4(vec3(r, g, b), 1.0);
53*/
54 gl_FragColor = vec4(color_for_position(position), 1.0);
Skyler Grey3eef73c2022-05-25 10:41:04 +010055}