In this paper we describe a unified data-structure, the 3D Visibility Complex which encodes the visibility information of a 3D scene of polygons and smooth convex objects. This datastructure is a partition of the maximal free segments and is based on the characterization of the topological changes of visibility along critical line sets. We show that the size k of the complex is (n) and O(n4) and we give an output sensitive algorithm to build it in time O((n3 + k) log n). This theoretical work has already been used to define a practical data-structure, the Visibility Skeleton described in a companion paper. Interactively manipulating the geometry of complex, globally illuminated scenes has to date proven an elusive goal. Previous attempts have failed to provide interactive updates of global illumination and have not been able to offer well-adapted algorithms controlling the frame rate. The need for such interactive updates of global illumination is becoming increasingly important as the field of application of radiosity algorithms widens. To address this need, we present a novel algorithm which provides interactive update rates of global illumination for complex scenes with moving objects. In the contact of clustering for hierarchical radiosity, we introduce the idea of an implicit line-space hierarchy. This hierarchy is realized by augmenting the links between hierarchical elements (clusters or surfaces) with shafts, representing the set of lines passing through the two linked elements. We show how line-space traversal allows rapid identification of modified links, and simultaneous cleanup of subdivision no longer required after a geometry move, by identifying the modified paths in the scene hierarchy. The implementation of our new algorithm allows interactive updates of illumination after object motion for scenes containing several thousand polygons, including global illumination effects. Finally, the line-space hierarchy traversal provides a natural control mechanism allowing the regulation of the tradeoff between image quality and frame rate.
[1]
Frédo Durand,et al.
The 3D Visibility Complex: A New Approach to the Problems of Accurate Visibility
,
1996,
Rendering Techniques.
[2]
Nina Amenta.
Finding a line transversal of axial objects in three dimensions
,
1992,
SODA '92.
[3]
George Drettakis,et al.
Feature-based control of visibility error: a multi-resolution clustering algorithm for global illumination
,
1995,
SIGGRAPH.
[4]
Seth J. Teller,et al.
Computing the antipenumbra of an area light source
,
1992,
SIGGRAPH.
[5]
François X. Sillion,et al.
A Unified Hierarchical Algorithm for Global Illumination with Scattering Volumes and Object Clusters
,
1995,
IEEE Trans. Vis. Comput. Graph..
[6]
James Arvo,et al.
Fast ray tracing by ray classification
,
1987,
SIGGRAPH '87.
[7]
Shenchang Eric Chen,et al.
Incremental radiosity: an extension of progressive radiosity to an interactive image synthesis system
,
1990,
SIGGRAPH.
[8]
David Forsyth,et al.
Efficient Radiosity in Dynamic Environments
,
1995
.
[9]
Erin Shaw.
Hierarchical Radiosity for Dynamic Environments
,
1997,
Comput. Graph. Forum.
[10]
Donald P. Greenberg,et al.
Modeling the interaction of light between diffuse surfaces
,
1984,
SIGGRAPH.
[11]
Seth J. Teller,et al.
Global visibility algorithms for illumination computations
,
1993,
SIGGRAPH.
[12]
Frank Schöffel,et al.
Fast Radiosity Repropagation For Interactive Virtual Environments Using A Shadow-Form-Factor-List
,
1995
.
[13]
Donald P. Greenberg,et al.
Radiosity redistribution for dynamic environments
,
1990,
IEEE Computer Graphics and Applications.
[14]
David Salesin,et al.
An importance-driven radiosity algorithm
,
1992,
SIGGRAPH.
[15]
Pat Hanrahan,et al.
A rapid hierarchical radiosity algorithm
,
1991,
SIGGRAPH.