Skip to content

Instantly share code, notes, and snippets.

View edankwan's full-sized avatar

Edan Kwan edankwan

View GitHub Profile
@edankwan
edankwan / toTS
Created February 26, 2021 13:20
Convert javascript into Typescript by @andrevenancio
function toTS(script) {
return script.replace(/ =/g, ':any =');
}
@edankwan
edankwan / toEs6
Created February 26, 2021 13:03
Convert old javascript into ES6 format
function toEs6(script) {
return script.replace(/var/g, 'let');
}
@edankwan
edankwan / shaders.glsl
Created July 11, 2016 09:33
Idea of using instancing with pixel discard in WebGL
// vertex shader
attribute float a_eyeOffset;
varying float v_eyeOffset;
...
vec4 mvPosition = modelViewPosition * vec4(position, 1.0);
mvPosition.x -= a_eyeOffset;
gl_Position = projectionMatrix * mvPosition;
gl_Position.x = gl_Position.x * 0.5 + sign(a_eyeOffset) * 0.5 * gl_Position.w;
@edankwan
edankwan / index.js
Created July 8, 2015 15:29
requirebin sketch
var raf = require('raf');
var mp = require('mouse-position');
var mpos = mp(window);
var undef;
var sumDeltaX = 0;
var libSumDeltaX = 0;
var curPageX;
var prevPageX;
@edankwan
edankwan / index.js
Created June 12, 2015 18:07
quick patch of glslify to accept api opts
var glslifyBundle = require('glslify-bundle')
var staticModule = require('static-module')
var glslifyDeps = require('glslify-deps')
var glslResolve = require('glsl-resolve')
var through = require('through2')
var nodeResolve = require('resolve')
var path = require('path')
var fs = require('fs')
module.exports = transform
@edankwan
edankwan / poop.js
Last active August 29, 2015 14:15 — forked from elsassph/poop.js
Array.prototype.poop = function() {
this.pop();
// return nothing, it's poop
}
Array.prototype.shit = function() {
this.shift();
// return nothing, it's shit
}
@edankwan
edankwan / poop.js
Created February 10, 2015 11:55
Array.prototype.poop()
(function(p, l){
var s = '';
function yolo(i) {
return function() {
return this.splice(this.length - i - 2);
};
}
@edankwan
edankwan / snoise2d.js
Created April 6, 2014 06:42
2d snoise Javascript post
// port from GLSL code base on https://github.com/ashima/webgl-noise/blob/master/src/noise2D.glsl
//JS SNOISE PORT
function snoise2d(x, y) {
var C0 = 0.211324865405187;
var C1 = -0.577350269189626;
var C2 = 1.79284291400159;
var OVER_289 = 1 / 289;

Click my penis to see more!

Inspired by the effect on Android when you switch the screen off

A Pen by Edan Kwan on CodePen.

License.

@edankwan
edankwan / modernizr.customshader.js
Created April 29, 2013 06:21
Custom shader test for Modernizr
(function(){
Modernizr.addTest('customfilter', function () {
var prop = 'filter';
var prefixedProp = ['WebkitFilter', 'MozFilter', 'msFilter', 'OFilter', 'filter'];
var prefixCSS = ['-webkit-filter', '-moz-filter', '-ms-filter', '-o-filter', 'filter'];
var val = 'custom(url(data:text/plain;base64,))';
var computedStyle;
for(var i = 0, len = prefixCSS.length; i < len; i++) {