Shadow mapping. Intermediate commit. First pass is mostly finished.