So I want to talk briefly about lighting.
The classic method of illumination in games involved adding up all the lighting affecting a point, which gives you an RGB value. For static lighting, you either add this up per-vertex, or maybe per-pixel in a lightmap, and store it out somewhere. The trouble with this kind of approach is that the lighting value is a fixed color, which prevents you from doing things like realtime time-of-day stuff, or flickering lights, or dynamic shadowing, or whatever.