Poring Effect to WebGL, but still the code is dirty.