depth testing and perspective drawing implemented