Persistent Realtim E Building Interior Generation

Persistent Realtim E Building Interior Generation

<p><strong>P ersistent&nbsp;R ealtim e&nbsp;Building Interior </strong><br><strong>G eneration </strong></p><p>By <br>Evan Hahn </p><p>A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfilment of the requirements for the degree of <br>Master of Computer Science </p><p>Ottawa-Carleton Institute for Computer Science <br>School of Computer Science <br>Carleton University Ottawa, Ontario </p><p>September 2006 <br>© Copyright <br>2006, Evan Hahn </p><p><strong>Reproduced with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p></p><ul style="display: flex;"><li style="flex:1">Library and </li><li style="flex:1">Bibliotheque et </li></ul><p></p><ul style="display: flex;"><li style="flex:1">Archives Canada </li><li style="flex:1">Archives Canada </li></ul><p>Direction du Patrimoine de I'edition <br>Published Heritage Branch </p><p>395 Wellington Street Ottawa ON K1A 0N4 Canada <br>395, rue Wellington Ottawa ON K1A 0N4 Canada </p><p><em>Your file &nbsp; Votre reference ISBN: 978-0-494-18353-3 Our file &nbsp; Notre reference ISBN: 978-0-494-18353-3 </em></p><p>NOTICE: <br>AVIS: <br>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. <br>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. </p><p>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. <br>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. </p><p>In compliance with the Canadian Privacy Act some supporting forms may have been removed from this thesis. <br>Conformement a la loi canadienne sur la protection de la vie privee, quelques formulaires secondaires ont ete enleves de cette these. </p><p>While these forms may be included in the document page count, their removal does not represent any loss of content from the thesis. <br>Bien que ces formulaires aient inclus dans la pagination, il n'y aura aucun contenu manquant. </p><p><strong>i * i </strong></p><p><strong>Canada </strong></p><p><strong>Reproduced with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p><strong>Abstract </strong></p><p>We present a novel approach to generate virtual building interiors in realtime.&nbsp;The interiors are generated in a top-down fashion using architectural guidelines.&nbsp;Although a building interior in its entirety may be quite large, only the portions that are needed immediately are generated.&nbsp;This lazy generation scheme allows the use of only a fraction of the memory that a model of the entire interior would take.&nbsp;Our method provides realtime frame rates, making it attractive for interactive applications such as videogames and simulators. <br>Memory is controlled by deleting regions of the interior that are no longer needed. <br>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.&nbsp;This allows a dynamic, consistent environment and increases control over the content by allowing developers to make changes. </p><p><strong>Reproduced with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p><strong>Contents </strong></p><p></p><ul style="display: flex;"><li style="flex:1"><a href="#11_0"><strong>1</strong></a></li><li style="flex:1"><a href="#11_0"><strong>Introduction </strong></a></li><li style="flex:1"><a href="#11_0"><strong>1</strong></a></li></ul><p></p><p><a href="#14_0">4</a><a href="#15_0">5</a><a href="#15_1">5</a><a href="#16_0">6</a></p><p><a href="#14_0">1.1 M</a><a href="#14_0">&nbsp;</a><a href="#14_0">o</a><a href="#14_0">tivation</a><a href="#14_0">............................................................................................................ </a></p><p><a href="#15_0">1.2 Scope</a><a href="#15_0">&nbsp;</a><a href="#15_0">................................................................................................................... </a></p><p><a href="#15_1">1.3 C</a><a href="#15_1">&nbsp;</a><a href="#15_1">o </a><a href="#15_1">n</a><a href="#15_1">tributions</a><a href="#15_1">..................................................................................................... </a></p><p><a href="#16_0">1.4 Thesis</a><a href="#16_0">&nbsp;</a><a href="#16_0">O</a><a href="#16_0">verview</a><a href="#16_0">.................................................................................................. </a></p><p><a href="#17_0"><strong>2</strong></a><a href="#0_2"><strong>3</strong></a></p><ul style="display: flex;"><li style="flex:1"><a href="#17_0"><strong>Related Work </strong></a></li><li style="flex:1"><a href="#17_0"><strong>7</strong></a></li></ul><p></p><p><a href="#17_1">7</a></p><p><a href="#17_1">2.1 </a><a href="#17_1">P</a><a href="#17_1">rocedural</a><a href="#17_1">&nbsp;</a><a href="#17_1">Geometry S</a><a href="#17_1">&nbsp;</a><a href="#17_1">y n th e sis</a><a href="#17_1">.................................................................... </a></p><p><a href="#0_0">2.2 </a><a href="#0_0">G</a><a href="#0_0">enerating</a><a href="#0_0">&nbsp;</a><a href="#0_0">A rc h ite ctu re </a><a href="#0_0">................................................................................. </a></p><p><a href="#0_1">2.3 </a><a href="#0_1">P</a><a href="#0_1">ersistence</a><a href="#0_1">............................................................................................................ </a></p><p><a href="#0_0">12 </a><a href="#0_1">13 </a></p><p></p><ul style="display: flex;"><li style="flex:1"><a href="#0_2"><strong>Lazy BuildingInterior Generation </strong></a></li><li style="flex:1"><a href="#0_2"><strong>16 </strong></a></li></ul><p></p><p><a href="#0_3">17 </a><a href="#0_4">19 </a><a href="#0_5">23 </a><a href="#0_6">24 </a><a href="#0_7">25 </a><a href="#0_8">25 </a><a href="#0_9">26 </a><a href="#0_10">27 </a><a href="#0_11">27 </a><a href="#0_12">30 </a><a href="#0_13">36 </a></p><p><a href="#0_3">3.1 Lazy</a><a href="#0_3">&nbsp;</a><a href="#0_3">Generation </a><a href="#0_3">............................................................................................... </a></p><p><a href="#0_4">3.2 </a><a href="#0_4">G</a><a href="#0_4">eneration</a><a href="#0_4">&nbsp;</a><a href="#0_4">R u le s </a><a href="#0_4">............................................................................................... </a></p><p><a href="#0_5">3.3 Temporary</a><a href="#0_5">&nbsp;</a><a href="#0_5">Region T</a><a href="#0_5">&nbsp;</a><a href="#0_5">y</a><a href="#0_5">pes</a><a href="#0_5">................................................................................. </a></p><p><a href="#0_6">3.4 Portal</a><a href="#0_6">&nbsp;</a><a href="#0_6">Types </a><a href="#0_6">..................................................................................................... </a></p><p><a href="#0_7">3.5 Building</a><a href="#0_7">&nbsp;</a><a href="#0_7">Setup </a><a href="#0_7">.................................................................................................. </a></p><p><a href="#0_8">3.5.1 Texture</a><a href="#0_8">&nbsp;</a><a href="#0_8">S </a><a href="#0_8">e</a><a href="#0_8">lection </a><a href="#0_8">.................................................................................. </a></p><p><a href="#0_9">3.5.2 Elevator</a><a href="#0_9">&nbsp;</a><a href="#0_9">Shaft Creation</a><a href="#0_9">&nbsp;</a><a href="#0_9">.................................................................... </a></p><p><a href="#0_10">3.6 Floor</a><a href="#0_10">&nbsp;</a><a href="#0_10">D ivision</a><a href="#0_10">...................................................................................................... </a></p><p><a href="#0_11">3.7 Hallway</a><a href="#0_11">&nbsp;</a><a href="#0_11">D iv i</a><a href="#0_11">s</a><a href="#0_11">io n </a><a href="#0_11">............................................................................................... </a></p><p><a href="#0_12">3.7.1 Portal</a><a href="#0_12">&nbsp;</a><a href="#0_12">P l</a><a href="#0_12">a</a><a href="#0_12">cem en t</a><a href="#0_12">.................................................................................. </a></p><p><a href="#0_13">3.7.2 Hall</a><a href="#0_13">&nbsp;</a><a href="#0_13">S</a><a href="#0_13">egm ents</a><a href="#0_13">........................................................................................ </a></p><p>i</p><p><strong>R eproduced&nbsp;with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p><a href="#0_14">3.7.3 Hall</a><a href="#0_14">&nbsp;</a><a href="#0_14">L </a><a href="#0_14">o</a><a href="#0_14">ops</a><a href="#0_14">.............................................................................................. </a></p><p><a href="#0_15">3.8 Room</a><a href="#0_15">&nbsp;</a><a href="#0_15">Cluster D</a><a href="#0_15">&nbsp;</a><a href="#0_15">iv isio n </a><a href="#0_15">.................................................................................... </a></p><p><a href="#0_16">3.9 Built</a><a href="#0_16">&nbsp;</a><a href="#0_16">Region Creation</a><a href="#0_16">&nbsp;</a><a href="#0_16">.................................................................................... </a></p><p><a href="#0_17">3.10 </a><a href="#0_17">O</a><a href="#0_17">bject</a><a href="#0_17">&nbsp;</a><a href="#0_17">P lacem ent</a><a href="#0_17">.............................................................................................. </a></p><p><a href="#0_18">3.11 </a><a href="#0_18">R</a><a href="#0_18">andom</a><a href="#0_18">&nbsp;</a><a href="#0_18">Number G</a><a href="#0_18">&nbsp;</a><a href="#0_18">eneration</a><a href="#0_18">.......................................................................... </a></p><p><a href="#0_19">3.12 </a><a href="#0_19">G</a><a href="#0_19">raphical</a><a href="#0_19">&nbsp;</a><a href="#0_19">Sum m ary</a><a href="#0_19">........................................................................................... </a></p><p><a href="#0_14">38 </a><a href="#0_15">40 </a><a href="#0_16">43 </a><a href="#0_17">45 </a><a href="#0_18">46 </a><a href="#0_19">48 </a></p><p><a href="#0_20"><strong>4</strong></a><a href="#0_24"><strong>5</strong></a></p><ul style="display: flex;"><li style="flex:1"><a href="#0_20"><strong>M emory</strong></a><a href="#0_20"><strong>&nbsp;</strong></a><a href="#0_20"><strong>Management </strong></a></li><li style="flex:1"><a href="#0_20"><strong>56 </strong></a></li></ul><p></p><p><a href="#0_21">56 </a><a href="#0_22">58 </a><a href="#0_23">59 </a></p><p><a href="#0_21">4.1 The</a><a href="#0_21">&nbsp;</a><a href="#0_21">Generation T r</a><a href="#0_21">&nbsp;</a><a href="#0_21">e e </a><a href="#0_21">....................................................................................... </a></p><p><a href="#0_22">4.2 C</a><a href="#0_22">&nbsp;</a><a href="#0_22">a c h </a><a href="#0_22">i</a><a href="#0_22">n g </a><a href="#0_22">............................................................................................................... </a></p><p><a href="#0_23">4.3 Deleting</a><a href="#0_23">&nbsp;</a><a href="#0_23">R e g io n s </a><a href="#0_23">.............................................................................................. </a></p><p></p><ul style="display: flex;"><li style="flex:1"><a href="#0_24"><strong>Persistent Change Management </strong></a></li><li style="flex:1"><a href="#0_24"><strong>61 </strong></a></li></ul><p></p><p><a href="#0_25">62 </a><a href="#0_26">62 </a><a href="#0_27">63 </a><a href="#0_28">63 </a><a href="#0_29">63 </a><a href="#0_30">64 </a><a href="#0_31">65 </a><a href="#0_32">66 </a><a href="#0_33">66 </a></p><p><a href="#0_25">5.1 R</a><a href="#0_25">&nbsp;</a><a href="#0_25">e c o </a><a href="#0_25">r</a><a href="#0_25">d s </a><a href="#0_25">.............................................................................................................. </a></p><p><a href="#0_26">5.2 Removal</a><a href="#0_26">&nbsp;</a><a href="#0_26">T im e </a><a href="#0_26">.................................................................................................... </a></p><p><a href="#0_27">5.3 Types</a><a href="#0_27">&nbsp;</a><a href="#0_27">of C h a n g e </a><a href="#0_27">.............................................................................................. </a></p><p><a href="#0_28">5.3.1 Face</a><a href="#0_28">&nbsp;</a><a href="#0_28">Appearance C</a><a href="#0_28">&nbsp;</a><a href="#0_28">h a n g e </a><a href="#0_28">s</a><a href="#0_28">................................................................ </a></p><p><a href="#0_29">5.3.2 Non-Generated</a><a href="#0_29">&nbsp;</a><a href="#0_29">Object C</a><a href="#0_29">&nbsp;</a><a href="#0_29">h an g es</a><a href="#0_29">...................................................... </a></p><p><a href="#0_30">5.3.3 </a><a href="#0_30">G</a><a href="#0_30">enerated</a><a href="#0_30">&nbsp;</a><a href="#0_30">Object C</a><a href="#0_30">&nbsp;</a><a href="#0_30">hanges</a><a href="#0_30">................................................................ </a></p><p><a href="#0_31">5.3.4 Portal</a><a href="#0_31">&nbsp;</a><a href="#0_31">C h a n g e s</a><a href="#0_31">.................................................................................... </a></p><p><a href="#0_32">5.4 Objects</a><a href="#0_32">&nbsp;</a><a href="#0_32">Occupying multiple r</a><a href="#0_32">e</a><a href="#0_32">g</a><a href="#0_32">&nbsp;</a><a href="#0_32">io n s</a><a href="#0_32">............................................................ </a></p><p><a href="#0_33">5.5 D</a><a href="#0_33">&nbsp;</a><a href="#0_33">iscussion</a><a href="#0_33">........................................................................................................... </a></p><p><a href="#0_34"><strong>6</strong></a><a href="#0_35"><strong>7</strong></a></p><ul style="display: flex;"><li style="flex:1"><a href="#0_34"><strong>Results </strong></a></li><li style="flex:1"><a href="#0_34"><strong>68 </strong></a></li></ul><p></p><ul style="display: flex;"><li style="flex:1"><a href="#0_35"><strong>Conclusions and Future Work </strong></a></li><li style="flex:1"><a href="#0_35"><strong>75 </strong></a></li></ul><p></p><p><a href="#0_36">7.0.1 Future</a><a href="#0_36">&nbsp;</a><a href="#0_36">W ork</a><a href="#0_36">.......................................................................................... </a></p><p><a href="#0_36">76 </a></p><p></p><ul style="display: flex;"><li style="flex:1"><a href="#0_37"><strong>A Important</strong></a><a href="#0_37"><strong>&nbsp;</strong></a><a href="#0_37"><strong>System Calculations </strong></a></li><li style="flex:1"><a href="#0_37"><strong>79 </strong></a></li></ul><p></p><p><a href="#0_38">79 </a><a href="#0_39">80 </a><a href="#0_40">81 </a></p><p><a href="#0_38">A .l</a><a href="#0_38">&nbsp;</a><a href="#0_38">Collision D</a><a href="#0_38">&nbsp;</a><a href="#0_38">e te c tio n </a><a href="#0_38">.......................................................................................... </a></p><p><a href="#0_39">A.2 Point</a><a href="#0_39">&nbsp;</a><a href="#0_39">Location </a><a href="#0_39">................................................................................................. </a></p><p><a href="#0_40">A.3 V</a><a href="#0_40">&nbsp;</a><a href="#0_40">isibility</a><a href="#0_40">.............................................................................................................. </a></p><p>ii </p><p><strong>Reproduced with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p><strong>Bibliography </strong></p><p>iii </p><p><strong>Reproduced with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p><strong>List of Tables </strong></p><p>3.1 Legend&nbsp;of Region Types iv </p><p><strong>Reproduced with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p><strong>List of Figures </strong></p><p>1.1 Left:&nbsp;A screen shot showing a building’s first person&nbsp;view and its generated contents.&nbsp;Right: A&nbsp;wireframe view of the same building generated </p><p>completely....................................................................................... </p><p>3<br>3.1 An&nbsp;example generating a section of a building around a point............... 3.2 An&nbsp;example floor with a large portion of dead space................................. 3.3 An&nbsp;example floor demonstrating the proper widths for room clusters. 3.4 A&nbsp;side view of a lazy generated building showing the floor divisions </p><p>necessary to create a single floor..................................................................... </p><p>3.5 An&nbsp;example division around the hall region................................................. 3.6 An&nbsp;example <em>Hall Segment </em>portal placement using our hallway portal <br>18 21 22 </p><p>28 29 </p><p>placing convention........................................................................ </p><p>3.7 An&nbsp;example series of portal placements................................... <br>31 32 <br>3.8 An&nbsp;example demonstrating portal placement when <em>Hallway </em>portals are </p><p>found directly across from the hall region.................................................... </p><p>33 <br>3.9 An&nbsp;example showing the possible remaining edges to place portals along.&nbsp;36 3.10 Example&nbsp;of the steps taken to create a hall loop....................................... 3.11 A&nbsp;section of a building containing two hall loops...................................... 3.12 An example extending the hall loop so that every hall portal can be </p><p>directly across from on of its edges&nbsp;............................................................ </p><p>39 40 </p><p>41 </p><ul style="display: flex;"><li style="flex:1">3.13 An example series of room cluster division steps.................. </li><li style="flex:1">44 </li></ul><p></p><p>3.14 A <em>Building </em>region generates a <em>Floor Divide </em>region and an <em>Elevator </em></p><p><em>Shaft </em>region.................................................................................... </p><p>49 v</p><p><strong>Reproduced with perm&nbsp;ission of&nbsp;the copyright owner.&nbsp;Further reproduction prohibited without perm&nbsp;ission. </strong></p><p>3.15 A <em>Floor Divide </em>region splits into smaller <em>Floor Divide </em>regions or be- </p><p>comes a <em>Hall Divide </em>region .......................................................................... </p><p>3.16 A <em>Hall Divide </em>region splits around either a <em>Hall Segment </em>or a <em>Hall </em></p><p><em>Loop </em>region...................................................................................................... </p><p>3.17 A <em>Hall Loop </em>region divides into a middle region surrounded by <em>Hall </em></p><p><em>Segment </em>regions............................................................................................. </p><p>3.18 A&nbsp;<em>Room Cluster &nbsp; Divide </em>region either splits into two smaller <em>Room Clus- </em></p><p><em>ter Divide </em>regions or becomes a built region......................................... </p><p>3.19 A&nbsp;<em>Hall Segment </em>region becomes a built region.................................... 3.20 An&nbsp;<em>Elevator Shaft </em>region becomes a built region................................ </p><p>3.21 <em>Elevator </em>portals are placed between <em>Elevator Shaft </em>and <em>Floor Divide </em></p><p>regions.............................................................................................................. </p><p>3.22 <em>Hallway </em>portals are normally placed between hall and <em>Hall Divide </em>regions, or two <em>Hall Divide </em>Regions. There&nbsp;is also a situation where <em>Hallway </em>portals are placed between hall and <em>Room Cluster </em>regions. This occurs when an existing <em>Hallway </em>portal is found directly across a </p><p>hall region over a <em>Room Cluster </em>re g io n ................................................ </p><p>3.23 <em>Room Door </em>portals are placed between hall and <em>Room Cluster &nbsp;</em>regions, hall and <em>Hall Divide </em>regions, or two <em>Hall Divide </em>regions................... </p><p>3.24 A&nbsp;generation example from our im&nbsp;plem en tatio n .............................. </p><p>3.25 The&nbsp;generation example continued......................................................... </p><p>49 <br>49 50 50 50 51 </p><p>51 </p><p>52 52 54 55 </p><p>4.1 A&nbsp;small generation tree............................................................................... </p><p>57 </p><ul style="display: flex;"><li style="flex:1">6.1 Frames&nbsp;per second vs the number of regions in a complete building </li><li style="flex:1">.</li><li style="flex:1">70 </li></ul><p>6.2 The&nbsp;polygon count of a complete building vs the number of regions in </p><p>a complete building..................................................................................... </p><p>6.3 The&nbsp;average time taken to generate around a point vs the&nbsp;number of </p><p>regions in a complete b&nbsp;u ild in g ................................................................. </p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    96 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us