Adaptive Cutaway in Unity
Adaptive Cutaway in Unity Overview
Visualisierung 2 - Sommersemester 2019
This application is inspired by the work of Burns et. al. with their paper "Adaptive Cutaways for Comprehensible Rendering of Polygonal Scenes".
For downloading the program, click here. For the source code, click here.

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