Skip to content

Instantly share code, notes, and snippets.

Created January 1, 2016 06:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/a0d0d6cad8658e4ef836 to your computer and use it in GitHub Desktop.
Save anonymous/a0d0d6cad8658e4ef836 to your computer and use it in GitHub Desktop.
/a/ EoE crosses script
var xImgB64 = 'data:image/png;base64,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';
var WinterFlake = {
opts: null,
canvas: null,
gl: null,
particles: null,
buffer: null,
run: function(opts) {
var canvas, gl, buffer, key;
this.opts = {
src: window.xImgB64,
minCount: 40,
maxCount: 40,
minSize: 35,
maxSize: 165,
speed: 0.0015
};
if (opts) {
for (key in opts) {
this.opts[key] = opts[key];
}
}
canvas = document.createElement('canvas');
canvas.id = 'wf-canvas';
canvas.style.pointerEvents = 'none';
canvas.style.position = 'fixed';
canvas.style.left = canvas.style.top = '0';
canvas.style.width = '100%';
canvas.style.height = '100%';
canvas.width = document.documentElement.clientWidth;
canvas.height = document.documentElement.clientHeight;
gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
this.canvas = canvas;
this.gl = gl;
gl.viewport(0.0, 0.0, canvas.width, canvas.height);
gl.disable(gl.DEPTH_TEST);
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
if (!this.setShaders()) {
this.destroy();
return false;
}
this.buildParticles();
this.setTexture();
document.body.appendChild(canvas);
this.mouseX = 0.0;
window.addEventListener('resize', this.onWindowResize, false);
},
buildParticles: function() {
var count, i, ii, buffer, particles;
count = (0 | Math.random() * (this.opts.maxCount - this.opts.minCount))
+ this.opts.minCount;
buffer = new Float32Array(count * 4);
particles = new Array(count);
for (i = 0; i < count; ++i) {
ii = i * 4;
particles[i] = {
x: buffer[ii] = this.getRandomPos(),
y: buffer[ii + 1] = this.getRandomPos() - 2.25,
size: buffer[ii + 2] = this.getRandomSize(),
dir: this.getRandomDir()
};
buffer[ii + 3] = this.getRandomSpt();
}
this.particles = particles;
this.buffer = buffer;
},
normalize: function(vec) {
var x, y, length, len;
x = vec[0];
y = vec[1];
length = x * x + y * y;
if (length > 0) {
len = 1 / Math.sqrt(length);
vec[0] = vec[0] * length;
vec[1] = vec[1] * length;
}
},
onWindowResize: function() {
var self = WinterFlake;
self.canvas.width = document.documentElement.clientWidth;
self.canvas.height = document.documentElement.clientHeight;
self.gl.viewport(0.0, 0.0, self.canvas.width, self.canvas.height);
},
getRandomPos: function() {
return Math.random() * 2.2 - 1.1;
},
getRandomSize: function() {
return Math.random() * (this.opts.maxSize - this.opts.minSize) + this.opts.minSize;
},
getRandomDir: function() {
return this.opts.speed + Math.random() * this.opts.speed;
},
getRandomSpt: function() {
return Math.floor((Math.random() * 4));
},
destroy: function() {
window.removeEventListener('resize', this.onWindowResize, false);
if (this.canvas && this.canvas.parentNode) {
this.canvas.parentNode.removeChild(this.canvas);
}
this.canvas = this.gl = this.particles = this.buffer = this.opts
= this.mouseX = null;
},
updateBuffer: function() {
var i, ii, p, count;
count = this.particles.length;
for (i = 0; i < count; ++i) {
ii = i * 4;
p = this.particles[i];
if (p.y > 1.25) {
p.x = this.buffer[ii] = this.getRandomPos();
p.y = this.buffer[ii + 1] = -1.25,
p.size = this.buffer[ii + 2] = this.getRandomSize();
this.buffer[ii + 3] = this.getRandomSpt();
p.dir = this.getRandomDir();
}
else {
this.buffer[ii + 1] = p.y = p.y + p.dir;
}
}
},
draw: function() {
var gl;
gl = this.gl;
gl.bufferData(gl.ARRAY_BUFFER, WinterFlake.buffer, gl.DYNAMIC_DRAW);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
gl.drawArrays(gl.POINTS, 0, WinterFlake.particles.length);
},
setTexture: function() {
var img;
img = new Image();
img.onload = this.onTextureLoaded;
img.src = this.opts.src;
},
onTextureLoaded: function() {
var tex, gl;
gl = WinterFlake.gl;
tex = gl.createTexture();
gl.activeTexture(gl.TEXTURE0);
gl.bindTexture(gl.TEXTURE_2D, tex);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);
gl.generateMipmap(gl.TEXTURE_2D);
WinterFlake.onAnimationFrame();
},
onAnimationFrame: function() {
if (!WinterFlake.canvas) {
return;
}
requestAnimationFrame(WinterFlake.onAnimationFrame);
WinterFlake.updateBuffer();
WinterFlake.draw();
},
setShaders: function() {
var gl, src, shader, prog, attr;
gl = WinterFlake.gl;
prog = gl.createProgram();
// Vertex
src = '\
attribute vec2 pos;\
attribute float size;\
attribute float spti;\
varying float spto;\
void main() {\
gl_PointSize = size;\
gl_Position = vec4(pos, -1.0, 1.0);\
spto = spti;\
}';
shader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(shader, src);
gl.compileShader(shader);
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
console.log("Couldn't compile vertex shader: " + gl.getShaderInfoLog(shader));
return false;
}
gl.attachShader(prog, shader);
// Fragment
src = '\
precision mediump float;\
uniform sampler2D sampler;\
varying float spto;\
void main() {\
vec2 pos = gl_PointCoord * 0.5;\
if (spto >= 3.0) { pos.x = pos.x + 0.5; pos.y = pos.y + 0.5; }\
else if (spto >= 2.0) { pos.y = pos.y + 0.5; }\
else if (spto >= 1.0) { pos.x = pos.x + 0.5; }\
gl_FragColor = texture2D(sampler, pos);\
}';
shader = gl.createShader(gl.FRAGMENT_SHADER);
gl.shaderSource(shader, src);
gl.compileShader(shader);
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
console.log("Couldn't compile fragment shader: " + gl.getShaderInfoLog(shader));
return false;
}
gl.attachShader(prog, shader);
gl.linkProgram(prog);
if (!gl.getProgramParameter(prog, gl.LINK_STATUS)) {
console.log("Couldn't link program");
return false;
}
gl.useProgram(prog);
this.shader = prog;
attr = gl.getAttribLocation(prog, 'pos');
gl.enableVertexAttribArray(attr);
gl.vertexAttribPointer(attr, 2, gl.FLOAT, false, 16, 0);
attr = gl.getAttribLocation(prog, 'size');
gl.enableVertexAttribArray(attr);
gl.vertexAttribPointer(attr, 1, gl.FLOAT, false, 16, 8);
attr = gl.getAttribLocation(prog, 'spti');
gl.enableVertexAttribArray(attr);
gl.vertexAttribPointer(attr, 1, gl.FLOAT, false, 16, 12);
attr = gl.getUniformLocation(prog, 'sampler');
gl.uniform1i(attr, 0);
return true;
},
};
function checkCapabilities() {
var el;
if (window.matchMedia) {
if (window.matchMedia('(max-width: 480px)').matches
|| window.matchMedia('(max-device-width: 480px)').matches) {
return false;
}
}
if (!window.WebGLRenderingContext) {
console.log('No WebGL.');
return false;
}
el = document.createElement('x');
el.style.cssText = 'pointer-events:auto';
if (el.style.pointerEvents !== 'auto') {
console.log('No Pointer Events.');
return false;
}
return true;
}
function toggleCrosses(e) {
e && e.preventDefault();
try {
if (!WinterFlake.canvas) {
WinterFlake.run();
this.innerHTML = ':stopcross:';
localStorage.removeItem('4chan-tmp-toggle');
}
else {
this.innerHTML = ':startcross:';
WinterFlake.destroy();
localStorage.setItem('4chan-tmp-toggle', 'stopcross');
}
}
catch (ex) { console.log(ex) }
}
function initWF() {
var el, o, frag, flag;
if (!checkCapabilities()) {
return;
}
o = document.getElementById('navtopright');
frag = document.createDocumentFragment();
frag.appendChild(document.createTextNode('['));
el = document.createElement('a');
el.href = '#';
el.innerHTML = ':startcross:';
el.addEventListener('click', toggleCrosses, false);
frag.appendChild(el);
frag.appendChild(document.createTextNode('] '));
o.insertBefore(frag, o.firstChild);
try {
flag = localStorage.getItem('4chan-tmp-toggle');
if (!flag || flag !== 'stopcross') {
toggleCrosses.call(el);
}
}
catch (e) {}
}
document.addEventListener('DOMContentLoaded', initWF, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment