Admit it, 3D is cool. But, you know what's cooler? 2D. I love WebGL, but unfortunately it doesn't work everywhere. This lighting simulation can be configured to use either the 2D context of a canvas element or an array of SVG polygons to draw the triangles. It also utilises native Float32Arrays to store numerical data for highly optimised calculations. This is a collaborative effort between Matthe
![Flat Surface Shader](https://cdn-ak-scissors.b.st-hatena.com/image/square/5e1aaaf46f58f0c3c3e0b1d4e9b95d5621baa0e3/height=288;version=1;width=512/http%3A%2F%2Fwagerfield.github.com%2Fflat-surface-shader%2Fassets%2Fgraphics%2Fthumbnail.jpg)