added basic shading, perspective, and camera position