Flat Surface Shader is a lightweight JavaScript rendering library for creating illuminated low-poly triangle surfaces. It models scenes with meshes, materials, lights, geometry, and renderers. Lighting is calculated with a Lambertian reflectance model using triangle normals, centroids, ambient color, and diffuse color. The same scene can be rendered through WebGL, Canvas 2D, or SVG backends. Developers can construct planes, deform vertices, move lights, and animate scenes to produce dynamic faceted visuals. ...