This application is inspired by the work of Burns et. al. with their paper "Adaptive Cutaways for Comprehensible
Rendering of Polygonal Scenes".
. For the source code,
click
Introduction
In 3D renderings, an often occurring problem is the occlusion of objects of interest by other secondary objects.
Burns et al. [1] address this problem by introducing cutaway renderings that expose hidden objects of interest
while preserving contextual information of the scene at interactive frame rates. Their method is made for the
rendering of polygonal scenes and not for volumentric data.
While Burns et. al. use depth maps on which jump flooding is applied to generate the cutaways, we introduce a new
method for clipping the scene. Instead of generating a depth map, the scene is simply clipped with a cone
represented by a distance function.
For rendering the scene, the Unity Engine was used.
Implementation
The cutting process in the surface shader looks as follows: First, the direction of the cone pole (in the
direction of the camera) is calculated. Also, the sinus and cosinus
values are caluclated based on the predefiened cone angle. After that, the direction from the surface pixel in the
direction of the cone pole and the distance from the surface pixel to the box are caluclated. Also, the angle
between the surface pixel and the cone pole is calculated. The currently observed surface pixel is then clipped
with the calculated cone.
Guide
The run the program, simply execute the .exe file in the bin folder. The view is controlled with the mouse,
whereas the position in the world can be changed with the WASD keys. To change the height of the camera, press Q
for increasing the height, and Y for decreasing the height. Press CRTL for locking the camera and enableing the
mouse curser to move, so you can adjust the slider, which controls the cone from 0 to 60°.
References
[1] Michael Burns and Adam Finkelstein. 2008. Adaptive cutaways for comprehensible rendering of polygonal scenes.
ACM Trans. Graph. 27, 5, Article 154 (December 2008),
see PDF