Hierarchical Techniques for Visibility Computations

Hierarchical Techniques for Visibility Computations

Hierarchical Techniques for Visibility Computations by Jirˇ´ı Bittner A dissertation submitted to the Faculty of Electrical Engineering, Czech Technical University in Prague, in partial fulfillment of the requirements for the degree of Doctor. October 2002 Thesis Supervisor: Assoc. Prof. Pavel Slav´ık, CSc. Department of Computer Science and Engineering Faculty of Electrical Engineering Czech Technical University Karlovo nam´ estˇ ´ı 13 121 35 Praha 2 Czech Republic Abstract Visibility computation is crucial for computer graphics from its very beginning. The first visibility al- gorithms aimed to determine visible lines or surfaces in a synthesized image of a 3D scene. Nowadays there is a plethora of visibility algorithms for various applications. The thesis proposes a taxonomy of visibility problems based on the dimension of the problem-relevant line set, i.e. set of lines forming the domain of the visibility problem. The taxonomy helps to identify relationships between visibility prob- lems from various application areas by grouping together problems of similar complexity. The thesis presents a general concept of a visibility algorithm suitable for solution of several classes of visibil- ity problems. The concept is based on three main ideas: an approximate occlusion sweep, an occlusion tree, and hierarchical visibility tests. The central idea of the concept is the occlusion tree representing an aggregated occlusion map by means of a hierarchical subdivision in line space. The thesis presents sev- eral applications of the concept. The major focus is placed on visibility culling algorithms for real-time rendering acceleration. First, we describe an algorithm for real-time visibility culling. The algorithm is used to accelerate rendering of large densely occluded scenes. It improves previous results by efficiently performing occluder fusion in real-time. We propose several techniques exploiting temporal and spatial coherence applicable to most existing hierarchical visibility culling methods. Second, we propose an algorithm for computing visibility maps in polygonal scenes. The algorithm provides a comprehensive description of the topology of the given view of the scene. We discuss an application of the algorithm to discontinuity meshing. Third, the proposed concept is applied to computation of from-region visibility in 2D scenes. We present and evaluate an exact analytic algorithm for computing a potentially visible set for a polygonal region in the plane. Fourth, we propose two algorithms for computing from-region 1 visibility in 2 2 D scenes. Both algorithms are targeted at visibility preprocessing for walkthroughs of outdoor urban scenes. The methods are compared with another recent technique. Finally, we describe an exact analytic algorithm for computing from-region visibility in 3D scenes suitable for various appli- cations. The algorithm uses Plucker¨ coordinates and maintains a hierarchical subdivision of 5D space. We discuss its application to visibility preprocessing, occluder synthesis and discontinuity meshing. Acknowledgments First of all, I would like to express my gratitude to my supervisor Pavel Slav´ık. He has been a constant source of encouragement and always assisted me with problems I have encountered during my Ph.D. studies. I want to thank Vlastimil Havran, Peter Wonka and Michael Wimmer for many insightful discussions and for being great partners in our common work. I want to thank my colleagues from our lab, namely Roman Berka, Martin Brachtl, Jaroslav Krivˇ anek,´ Luka´sˇ Miksˇ´ıcek,ˇ Jaroslav Sloup and Jirˇ´ı Zˇ ara´ for their support and for creating a pleasant environment to work in. I am much in debt to people from the CG lab at the TU Vienna, namely Katja Buhler,¨ Eduard Groller,¨ Markus Hadwiger, Robert Tobler, Thomas Theußl, Anna Vilanova i Bartrol´ı, and Alexander Wilkie, for being great hosts during my research visits in Vienna. I also want to express my gratitude to my former colleagues Jan Burianek,´ Petr Chlumsky,´ Alesˇ Holecek,ˇ Jan Prikrylˇ and Jan Vorl´ıcekˇ for always willing to share their extensive knowledge. I wish to thank Yiorgos Chrysanthou and Daniel Cohen-Or for many fruitful discussions that con- tributed greatly to the quality of the thesis. My gratitude belongs to professors Werner Purgathofer and Walter Patzold¨ for their amazing support during my research visits at their institutes. I want to thank the head of our department Josef Kola´rˇ for taking care of my financial support during the first years of my study. I am much indebted to Vaclav´ Hlava´c,ˇ the head of the Machine perception group of the Center for Applied Cybernetics, for providing my financial support during the last two years of my studies. My work was supported by the Czech Ministry of Education under Project LN00B096 and a grant No. 1252/1998, a grant from the Internal Grant Agency of the Czech Technical University No. 309810103, and the Aktion Kontakt OE/CZ grant No. 1999/17. Last but certainly not least I want to thank all my friends and my family for their constant support and encouragement, and for their patience during the period of writing up the thesis. Contents 1 Introduction 1 1.1 Motivation ......................................... 1 1.1.1 Real-time rendering ............................... 1 1.1.2 Realistic rendering ................................ 2 1.1.3 Other applications ................................ 4 1.1.4 Challenges in visibility computations ...................... 4 1.2 Contributions of the thesis ................................ 5 1.3 Structure of the thesis ................................... 6 2 Overview of visibility problems and algorithms 7 2.1 Taxonomy of visibility problems ............................. 7 2.1.1 Problem domain ................................. 7 2.1.2 Type of the answer ................................ 8 2.2 Dimension of the problem-relevant line set ........................ 9 2.2.1 Parametrization of lines in 2D .......................... 9 2.2.2 Parametrization of lines in 3D .......................... 9 2.2.3 Visibility along a line ............................... 10 2.2.4 Visibility from a point .............................. 11 2.2.5 Visibility from a line segment .......................... 12 2.2.6 Visibility from a region .............................. 12 2.2.7 Global visibility ................................. 13 2.2.8 Summary ..................................... 13 2.3 Classification of visibility algorithms ........................... 14 2.3.1 Scene restrictions ................................. 14 2.3.2 Accuracy ..................................... 15 2.3.3 Solution space .................................. 16 2.4 Visibility algorithm design ................................ 17 2.4.1 Scene structuring ................................. 17 2.4.2 Solution space data structures .......................... 19 2.4.3 Performance ................................... 19 2.5 Visibility in urban environments ............................. 22 2.5.1 Analysis of visibility in outdoor urban areas ................... 22 2.5.2 Analysis of indoor visibility ........................... 24 2.6 Summary ......................................... 24 iii 3 The general concept of a visibility algorithm 27 3.1 Related work ....................................... 27 3.1.1 Beam tracing ................................... 27 3.1.2 Cone tracing ................................... 28 3.1.3 BSP tree projection ................................ 28 3.1.4 Frustum casting .................................. 28 3.2 Approximate occlusion sweep .............................. 29 3.3 Occlusion tree ....................................... 30 3.3.1 Polyhedra set operations using BSP trees .................... 31 3.3.2 Structure of the occlusion tree .......................... 31 3.3.3 Construction of the occlusion tree ........................ 32 3.3.4 Visibility test using the occlusion tree ...................... 34 3.4 Hierarchical visibility tests ................................ 34 3.5 Complexity analysis .................................... 35 3.5.1 kD-tree ...................................... 35 3.5.2 Number of swept nodes ............................. 36 3.5.3 Size of the occlusion tree ............................. 36 3.5.4 Analysis of a visibility test ............................ 37 3.6 Summary ......................................... 37 4 Real-time visibility culling 39 4.1 Problem statement .................................... 39 4.2 Related work ....................................... 39 4.3 Algorithm overview .................................... 40 4.4 Spatial hierarchy ..................................... 41 4.5 Occluder selection .................................... 41 4.6 Representation of the aggregated occlusion map ..................... 42 4.7 Occlusion tree ....................................... 42 4.8 Visibility of a polygon .................................. 42 4.9 Visibility of a polyhedron ................................. 43 4.10 Conservative occlusion tree traversal ........................... 44 4.10.1 Occlusion tree for the conservative visibility algorithm ............. 44 4.10.2 Conservative visibility of a region ........................ 45 4.11 Exploiting temporal and spatial coherence ........................ 46 4.11.1 Related work ................................... 46 4.11.2 Classical approach ................................ 46 4.11.3 Modifications overview .............................. 47 4.11.4 Hierarchy updating ................................ 48 4.11.5

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    198 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