aboutsummaryrefslogtreecommitdiff
path: root/luax/public/index.js
diff options
context:
space:
mode:
authorStanisław Zagórowski <hasohasacz@gmail.com>2024-01-12 23:24:47 +0100
committerStanisław Zagórowski <hasohasacz@gmail.com>2024-01-12 23:24:47 +0100
commit6b068ccd9156de8515203d0000c3a2a8ecb9c5fb (patch)
tree1bd9fd29b5fbe053bc376bf667d294460846a59e /luax/public/index.js
parent329193f0d1c8d710cb7f63e61b19e574dfdde4c4 (diff)
luax: just reluax
Diffstat (limited to 'luax/public/index.js')
-rw-r--r--luax/public/index.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/luax/public/index.js b/luax/public/index.js
deleted file mode 100644
index 51716de..0000000
--- a/luax/public/index.js
+++ /dev/null
@@ -1,91 +0,0 @@
-$(document).ready(function() {
- $('.carousel-wrapper').slick({
- dots: true,
- infinite: true,
- speed: 500,
- slidesToShow: 1,
- slidesToScroll: 1
- });
-
- var canvas_parent = document.getElementById('animated-bg');
- var canvas = document.createElement('canvas');
- canvas.width = window.innerWidth;
- canvas.height = window.innerHeight / 2;
- window.sandbox_canvas = canvas;
-
- canvas_parent.appendChild(canvas, null, { filtering: 'nearest' });
- var sandbox = new GlslCanvas(canvas);
- // randomize time
- sandbox.timeLoad = Math.random() * 100000;
-
- window.sandbox = sandbox; // for access
-
- const shader_code = `
-precision highp float;
-uniform vec3 color;
-uniform sampler2D t;
-uniform vec2 tiles;
-uniform float u_time;
-uniform vec2 u_resolution;
-uniform float symbol_count;
-
-vec2 map_to_symbol_uv(vec2 image_coord, float symbol_index) {
- float symbol_width = 1.0 / symbol_count;
- float symbol_height = 1.0;
- float symbol_x = symbol_index * symbol_width;
- return vec2(symbol_x + image_coord.x * symbol_width, image_coord.y * symbol_height);
-}
-
-vec2 tile_index(vec2 p, vec2 tiles) {
- return vec2(floor(p.x * tiles.x), floor(p.y * tiles.y));
-}
-
-vec2 tilefy (vec2 p, vec2 tiles) {
- return vec2(fract(p.x * tiles.x), fract(p.y * tiles.y));
-}
-
-float randf(float n) {
- return fract(sin(n) * 43758.5453123);
-}
-
-void main() {
- vec2 uv = gl_FragCoord.xy / u_resolution.xy;
- vec2 tile = tile_index(uv, tiles);
- float tilerand = randf(tile.x + tile.y * tiles.x);
- float v = tilerand + randf(floor(tilerand * u_time));
- float diff = fract(tilerand * u_time);
- float s = floor(v * 9.0);
- vec2 tp = tilefy(uv, tiles);
- vec2 tp_center = vec2(0.5, 0.5);
- float d = distance(tp, tp_center);
- float scale = min(sin(diff * 3.1415) * 1.2, 1.0);
- tp = tp_center + (tp - tp_center) / scale;
- if (tp.x < 0.0 || tp.x > 1.0 || tp.y < 0.0 || tp.y > 1.0) {
- gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
- return;
- }
- vec2 p = map_to_symbol_uv(tp, mod(s, symbol_count));
- vec4 c = texture2D(t, p);
- c.rgb *= color;
- c.a *= uv.y * 4.0;
- gl_FragColor = vec4(c.rgb * c.a, c.a);
-}
-`
-
- sandbox.load(shader_code);
-
- sandbox.setUniform('t', "/assets/images/symbols.png");
-
- sandbox.setUniform('color', 42 / 255, 42 / 255, 80 / 255);
-
- sandbox.setUniform('symbol_count', 9);
-
- sandbox.setUniform('tiles', Math.ceil(window.innerWidth / 32), Math.ceil(window.innerHeight / 64));
-
- addEventListener('resize', function() {
- window.sandbox_canvas.width = window.innerWidth;
- window.sandbox_canvas.height = window.innerHeight / 2;
- window.sandbox.setUniform('tiles', Math.ceil(window.innerWidth / 32), Math.ceil(window.innerHeight / 64));
- });
-});
-