P ersistent R ealtim e Building Interior
G eneration
By
Evan Hahn
A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfilment of the requirements for the degree of
Master of Computer Science
Ottawa-Carleton Institute for Computer Science
School of Computer Science
Carleton University Ottawa, Ontario
September 2006
© Copyright
2006, Evan Hahn
Reproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
- Library and
- Bibliotheque et
- Archives Canada
- Archives Canada
Direction du Patrimoine de I'edition
Published Heritage Branch
395 Wellington Street Ottawa ON K1A 0N4 Canada
395, rue Wellington Ottawa ON K1A 0N4 Canada
Your file Votre reference ISBN: 978-0-494-18353-3 Our file Notre reference ISBN: 978-0-494-18353-3
NOTICE:
AVIS:
The author has granted a nonexclusive license allowing Library and Archives Canada to reproduce, publish, archive, preserve, conserve, communicate to the public by telecommunication or on the Internet, loan, distribute and sell theses worldwide, for commercial or noncommercial purposes, in microform, paper, electronic and/or any other formats.
L'auteur a accorde une licence non exclusive permettant a la Bibliotheque et Archives Canada de reproduire, publier, archiver, sauvegarder, conserver, transmettre au public par telecommunication ou par I'lnternet, preter, distribuer et vendre des theses partout dans le monde, a des fins commerciales ou autres, sur support microforme, papier, electronique et/ou autres formats.
The author retains copyright ownership and moral rights in this thesis. Neither the thesis nor substantial extracts from it may be printed or otherwise reproduced without the author's permission.
L'auteur conserve la propriete du droit d'auteur et des droits moraux qui protege cette these. Ni la these ni des extraits substantiels de celle-ci ne doivent etre imprimes ou autrement reproduits sans son autorisation.
In compliance with the Canadian Privacy Act some supporting forms may have been removed from this thesis.
Conformement a la loi canadienne sur la protection de la vie privee, quelques formulaires secondaires ont ete enleves de cette these.
While these forms may be included in the document page count, their removal does not represent any loss of content from the thesis.
Bien que ces formulaires aient inclus dans la pagination, il n'y aura aucun contenu manquant.
i * i
Canada
Reproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
Abstract
We present a novel approach to generate virtual building interiors in realtime. The interiors are generated in a top-down fashion using architectural guidelines. Although a building interior in its entirety may be quite large, only the portions that are needed immediately are generated. This lazy generation scheme allows the use of only a fraction of the memory that a model of the entire interior would take. Our method provides realtime frame rates, making it attractive for interactive applications such as videogames and simulators.
Memory is controlled by deleting regions of the interior that are no longer needed.
Any changes made in these regions is not lost as we provide a simple and efficient method to allow changes made to the interior to persist past the lifetime of the regions that contain them. This allows a dynamic, consistent environment and increases control over the content by allowing developers to make changes.
Reproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
Contents
1.1 M otivation............................................................................................................
1.2 Scope ...................................................................................................................
1.3 C o ntributions.....................................................................................................
1.4 Thesis Overview..................................................................................................
2.1 Procedural Geometry S y n th e sis....................................................................
2.2 Generating A rc h ite ctu re .................................................................................
2.3 Persistence............................................................................................................
17 19 23 24 25 25 26 27 27 30 36
3.1 Lazy Generation ...............................................................................................
3.2 Generation R u le s ...............................................................................................
3.3 Temporary Region T ypes.................................................................................
3.4 Portal Types .....................................................................................................
3.5 Building Setup ..................................................................................................
3.5.1 Texture S election ..................................................................................
3.5.2 Elevator Shaft Creation ....................................................................
3.6 Floor D ivision......................................................................................................
3.7 Hallway D iv isio n ...............................................................................................
3.7.1 Portal P lacem en t..................................................................................
3.7.2 Hall Segm ents........................................................................................
i
R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
3.7.3 Hall L oops..............................................................................................
3.8 Room Cluster D iv isio n ....................................................................................
3.9 Built Region Creation ....................................................................................
3.10 Object P lacem ent..............................................................................................
3.11 Random Number G eneration..........................................................................
3.12 Graphical Sum m ary...........................................................................................
4.1 The Generation T r e e .......................................................................................
4.2 C a c h in g ...............................................................................................................
4.3 Deleting R e g io n s ..............................................................................................
5.1 R e c o rd s ..............................................................................................................
5.2 Removal T im e ....................................................................................................
5.3 Types of C h a n g e ..............................................................................................
5.3.1 Face Appearance C h a n g e s................................................................
5.3.2 Non-Generated Object C h an g es......................................................
5.3.3 Generated Object C hanges................................................................
5.3.4 Portal C h a n g e s....................................................................................
5.4 Objects Occupying multiple reg io n s............................................................
5.5 D iscussion...........................................................................................................
7.0.1 Future W ork..........................................................................................
A .l Collision D e te c tio n ..........................................................................................
A.2 Point Location .................................................................................................
A.3 V isibility..............................................................................................................
ii
Reproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
Bibliography
iii
Reproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
List of Tables
3.1 Legend of Region Types iv
Reproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
List of Figures
1.1 Left: A screen shot showing a building’s first person view and its generated contents. Right: A wireframe view of the same building generated
completely.......................................................................................
3
3.1 An example generating a section of a building around a point............... 3.2 An example floor with a large portion of dead space................................. 3.3 An example floor demonstrating the proper widths for room clusters. 3.4 A side view of a lazy generated building showing the floor divisions
necessary to create a single floor.....................................................................
3.5 An example division around the hall region................................................. 3.6 An example Hall Segment portal placement using our hallway portal
18 21 22
28 29
placing convention........................................................................
3.7 An example series of portal placements...................................
31 32
3.8 An example demonstrating portal placement when Hallway portals are
found directly across from the hall region....................................................
33
3.9 An example showing the possible remaining edges to place portals along. 36 3.10 Example of the steps taken to create a hall loop....................................... 3.11 A section of a building containing two hall loops...................................... 3.12 An example extending the hall loop so that every hall portal can be
directly across from on of its edges ............................................................
39 40
41
- 3.13 An example series of room cluster division steps..................
- 44
3.14 A Building region generates a Floor Divide region and an Elevator
Shaft region....................................................................................
49 v
Reproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission.
3.15 A Floor Divide region splits into smaller Floor Divide regions or be-
comes a Hall Divide region ..........................................................................
3.16 A Hall Divide region splits around either a Hall Segment or a Hall
Loop region......................................................................................................
3.17 A Hall Loop region divides into a middle region surrounded by Hall
Segment regions.............................................................................................
3.18 A Room Cluster Divide region either splits into two smaller Room Clus-
ter Divide regions or becomes a built region.........................................
3.19 A Hall Segment region becomes a built region.................................... 3.20 An Elevator Shaft region becomes a built region................................
3.21 Elevator portals are placed between Elevator Shaft and Floor Divide
regions..............................................................................................................
3.22 Hallway portals are normally placed between hall and Hall Divide regions, or two Hall Divide Regions. There is also a situation where Hallway portals are placed between hall and Room Cluster regions. This occurs when an existing Hallway portal is found directly across a
hall region over a Room Cluster re g io n ................................................
3.23 Room Door portals are placed between hall and Room Cluster regions, hall and Hall Divide regions, or two Hall Divide regions...................
3.24 A generation example from our im plem en tatio n ..............................
3.25 The generation example continued.........................................................
49
49 50 50 50 51
51
52 52 54 55
4.1 A small generation tree...............................................................................
57
- 6.1 Frames per second vs the number of regions in a complete building
- .
- 70
6.2 The polygon count of a complete building vs the number of regions in
a complete building.....................................................................................
6.3 The average time taken to generate around a point vs the number of
regions in a complete b u ild in g .................................................................