shading works for one light source, working zbuffering