Non-Invasive Interactive Visualization of Dynamic Architectural … · 2003. 5. 13. · Approach:...

1
Non-Invasive Interactive Visualization of Dynamic Architectural Environments Christopher Niederauer University of California, Santa Barbara Mike Houston Stanford University Maneesh Agrawala Microsoft Research Greg Humphreys University of Virginia Set Viewpoint Clip Planes & Translation Geometric Analysis Rendering Original Application OpenGL Up Vector Player Height Viewpoint Original Application OpenGL NumSplits Passes of Modified OpenGL Table Mapping Height to Surface Area NumSplits Passes of Original OpenGL Find Downward Facing Polygons Find Split Heights Multiple Playback Set Viewpoint Clip Planes & Translation Multipass Composite List of Split Heights . . . (a) System block diagram (b) Exploded view visualization NumSplits NumSplits Separation Distance Figure 1: Overview of our visualization system. (a) The system is divided into two stages; geometric analysis and rendering. Geometric analysis occurs once and determines where to section the environment into stories. Rendering occurs every frame and produces an interactive exploded view. Each box represents a computational operation and arrows represent data. (b) An exploded view of the dm7 environment from Quake III generated non-invasively by our system. Motivation: Architects and technical illustrators often use tech- niques such as cutaways, transparency, and exploded views to re- duce or eliminate occlusion and expose the overall structure of ar- chitectural environments. A common approach is to first section the building into stories just below the ceilings, and then separate the stories from one another to form an exploded view. These views expose both the structure of the internal spaces within each story and the vertical spatial relationships between adjacent stories. But producing such an exploded view from a 3D model of an archi- tectural environment currently requires a designer to annotate the location of each story and a viewing application that can generate the appropriate exploded view from the annotated model. Approach: We have developed a visualization system that gener- ates exploded views of an architectural environment using the two stage approach shown in Figure 1. The system runs non-invasively and is designed to process OpenGL streams from existing appli- cations without modification. The first stage, geometric analysis, determines where to split the architectural model into stories by an- alyzing the stream of polygons issued by the original application. The analysis is performed once whenever a new architectural model is loaded into the original application. The second stage, rendering, draws the exploded view by mod- ifying the OpenGL graphics stream of the original application. Based on the geometric analysis, the renderer inserts clipping planes between each story and performs multipass rendering, one pass per story, to produce the exploded view. The renderer also replaces the viewpoint specified by the original application with a new viewpoint which may be interactively specified by a viewer using our system. The rendering stage modifies every frame of the original application on the fly. Conclusions: We have found that exploded view visualizations of architectural environments provide a much clearer view of the overall structure of the environments and the dynamic character interactions that may occur within them. Observing multi-player games from this type of third-person perspective is much more sat- isfying than watching the game through the eyes of a player. A complete description of our architectural visualization system can be found in [Niederauer et al. 2003]. References NIEDERAUER, C., HOUSTON, M., AGRAWALA, M., AND HUMPHREYS, G. 2003. Non-invasive interactive visualization of dynamic architectural enviuronments. In Proceedings of the 2003 Symposium on Interactive 3D Graphics, 55–58. http://graphics.stanford.edu/papers/archsplit/.

Transcript of Non-Invasive Interactive Visualization of Dynamic Architectural … · 2003. 5. 13. · Approach:...

Page 1: Non-Invasive Interactive Visualization of Dynamic Architectural … · 2003. 5. 13. · Approach: We have developed a visualization system that gener-ates exploded views of an architectural

Non-Invasive Interactive Visualization of Dynamic Architectural Environments

Christopher NiederauerUniversity of California, Santa Barbara

Mike HoustonStanford University

Maneesh AgrawalaMicrosoft Research

Greg HumphreysUniversity of Virginia

Set ViewpointClip Planes &Translation

GeometricAnalysis

Rendering

OriginalApplicationOpenGL

Up VectorPlayer Height

Viewpoint

OriginalApplicationOpenGL

Num

Spl

its P

asse

s of

M

odifi

ed O

penG

L

Table MappingHeight to

Surface Area

Num

Spl

its P

asse

s of

Orig

inal

Ope

nGL

FindDownward

FacingPolygons

Find SplitHeights

MultiplePlayback

Set ViewpointClip Planes &Translation

MultipassComposite

List of SplitHeights

.

.

.

(a) System block diagram (b) Exploded view visualization

NumSplits

NumSplits

SeparationDistance

Figure 1: Overview of our visualization system. (a) The system is divided into two stages; geometric analysis and rendering. Geometric analysis occurs onceand determines where to section the environment into stories. Rendering occurs every frame and produces an interactive exploded view. Each box represents acomputational operation and arrows represent data. (b) An exploded view of the dm7 environment from Quake III generated non-invasively by our system.

Motivation: Architects and technical illustrators often use tech-niques such as cutaways, transparency, and exploded views to re-duce or eliminate occlusion and expose the overall structure of ar-chitectural environments. A common approach is to first section thebuilding into stories just below the ceilings, and then separate thestories from one another to form an exploded view. These viewsexpose both the structure of the internal spaces within each storyand the vertical spatial relationships between adjacent stories. Butproducing such an exploded view from a 3D model of an archi-tectural environment currently requires a designer to annotate thelocation of each story and a viewing application that can generatethe appropriate exploded view from the annotated model.

Approach: We have developed a visualization system that gener-ates exploded views of an architectural environment using the twostage approach shown in Figure 1. The system runs non-invasivelyand is designed to process OpenGL streams from existing appli-cations without modification. The first stage, geometric analysis,

determines where to split the architectural model into stories by an-alyzing the stream of polygons issued by the original application.The analysis is performed once whenever a new architectural modelis loaded into the original application.

The second stage, rendering, draws the exploded view by mod-ifying the OpenGL graphics stream of the original application.Based on the geometric analysis, the renderer inserts clippingplanes between each story and performs multipass rendering, onepass per story, to produce the exploded view. The renderer alsoreplaces the viewpoint specified by the original application with anew viewpoint which may be interactively specified by a viewerusing our system. The rendering stage modifies every frame of theoriginal application on the fly.

Conclusions: We have found that exploded view visualizationsof architectural environments provide a much clearer view of theoverall structure of the environments and the dynamic characterinteractions that may occur within them. Observing multi-playergames from this type of third-person perspective is much more sat-isfying than watching the game through the eyes of a player. Acomplete description of our architectural visualization system canbe found in [Niederauer et al. 2003].

References

NIEDERAUER, C., HOUSTON, M., AGRAWALA, M., AND HUMPHREYS, G. 2003.Non-invasive interactive visualization of dynamic architectural enviuronments.In Proceedings of the 2003 Symposium on Interactive 3D Graphics, 55–58.http://graphics.stanford.edu/papers/archsplit/.