Original by FRequency, Canvas 3D port by vlad
This is a slightly lighter WebGL port of vlad's code.