Adaptive Cutaways
Overview

Visualisierung 2 - Sommersemester 2018 This application has been reimplemented after "Adaptive Cutaways for Comprehensible Rendering of Polygonal Scenes" by Burns et. al. [1].
Download the binaires and the source code for testing.

screenshot.png

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. used illustrative and non-photorealistic rendering, this implementation uses (partially) textured scenes in combination with blinn-phong shading.
The graphical user interface has been designed with Qt 5.10.1 [4] and for the loading of the polygonal scenes the Open-Asset-Import-Library [3] has been used.

Implementation

The basic workflow for generating cutaway renderings is as follows (, the computation is done entirely in respective shaders):

Apart from the main algorithm there have been added some improvements regarding the cutaways (as has been done by Burns et. al. as well):

It has to be mentioned, that these improvements are not perfect solutions, they just reduce the occurence of the problems for a majority of cases.

noalpha.png
alphacut.png

Guide

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
[2] Guodong Rong and Tiow-Seng Tan. 2006. Jump flooding in GPU with applications to Voronoi diagram and distance transform. In Proceedings of the 2006 symposium on Interactive 3D graphics and games (I3D '06). ACM, New York, NY, USA, 109-116 see PDF
[3] Loading of polygonal scenes with ASSIMP
[4] GUI implemented with Qt 5.10.1
[5] Assimp model loader inspired by Eric Stone's implementation