Viewpoint-Based Ambient Occlusion