implemented a frustrum viewpoint