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.