Vertice is a software-based 3D renderer I wrote in my spare time to learn more about computer graphics.
The universe is a hierarchy of contexts. A nested context can be offset from its parent in any of translation, rotation, or scaling. Each context contains a set of polygons. A polygon is a sequence of named points and either a color or a texture. A point is an ordered triplet of XYZ coordinates with a name. A color is an ordered triplet of RGB intensities with a name. A texture is a sequence of intensities with a name -- the number of values is either a perfect square for a gray texture, or a square tripled for a color texture.
There are two hard-coded light sources: a yellow-tinted point light at the camera and a vaguely blue ambient light. For the former, shading takes into account distance and angle of incidence. Additionally, clicking a face will highlight all faces in the same context.