added shading and fixed a PPM output bug