Efficient Sorting and Searching in Rendering Algorithms Eurographics 2006 Tutorial T4 Organizers and Presenters Vlastimil Havran Czech Technical University in Prague Jiˇ r´ ı Bittner Czech Technical University in Prague Vienna University of Technology Version 1.1, August 31, 2006 � The Eurographics Association 2006. c
Havran and Bittner / Efficient Sorting and Searching in Rendering Algorithms Abstract In the proposed tutorial we would like to highlight the connection between rendering algorithms and sort- ing and searching as classical problems studied in computer science. We will provide both theoretical and empirical evidence that for many rendering techniques most time is spent by sorting and searching. In particular we will discuss problems and solutions for visibility computation, density estimation, and im- portance sampling. For each problem we mention its specific issues such as dimensionality of the search domain or online versus offline searching. We will present the underlying data structures and their enhance- ments in the context of specific rendering algorithms such as ray shooting, photon mapping, and hidden surface removal. 2 � The Eurographics Association 2006. c
Havran and Bittner / Efficient Sorting and Searching in Rendering Algorithms Organizers bibliographies Vlastimil Havran is an assistant professor at the Czech Technical University in Prague since February 2006. He defended his Ph.D. dissertation on ray shooting algorithms in 2001 at the Czech Technical University in Prague. Later he joined the computer graphics group at Max-Planck-Institute for Informatics in Saarbruecken. He became a research associate at the same institute in 2003. He has contributed to the topic of sorting and searching by his dissertation on ray shooting algorithms which started the area of interactive ray tracing. In addition to sorting and searching he worked on various other topics in rendering. Jiˇ r´ ı Bittner holds a Ph.D. in Computer Science from the Czech Technical University in Prague. His main research interests include visibility preprocessing, occlusion culling, real-time rendering, and com- putational geometry. He has also been active in development of two commercial products dealing with real-time rendering of large scenes. He is currently affiliated with the Vienna University of Technology and the Czech Technical University in Prague. Organizers contact information Vlastimil Havran Czech Technical University in Prague Karlovo n´ amˇ est´ ı 13 121 35 Praha 2 Czech Republic Phone:+420 2435 7263 Fax:+420 22492 3325 e-mail: havran@fel.cvut.cz URL: http://www.cgg.cvut.cz/˜havran Jiˇ r´ ı Bittner Czech Technical University in Prague Karlovo n´ amˇ est´ ı 13 121 35 Praha 2 Czech Republic Phone:+420 2435 7417 Fax:+420 22492 3325 e-mail: bittner@fel.cvut.cz URL: http://www.cgg.cvut.cz/˜bittner Vienna University of Technology Favoritenstrasse 9-11 / E186 A-1040 Wien Austria Phone:+431 58801 18685 Fax:+431 58801 18698 e-mail: bittner@cg.tuwien.ac.at URL: http://www.cg.tuwien.ac.at/staff/JiriBittner.html 3 � The Eurographics Association 2006. c
Havran and Bittner / Efficient Sorting and Searching in Rendering Algorithms Tutorial Contents Slides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Introduction to Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Introduction to Sorting and Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Hierarchical data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Ray shooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Hidden surface removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Visibility culling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 Photon Maps and Irradiance Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Ray Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 Other methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Sorting and Searching, Hierarchical Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 Ray Shooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Hidden Surface Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Visibility Culling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Photon Mapping, Irradiance Caching, and Ray Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Other Publications on Rendering with Sorting and/or Searching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 Tutorial Web Page The updated version of this tutorial presented at Eurographics 2006 can be found under the following URL: http://www.cgg.cvut.cz/˜havran/eg2006tut/ Acknowledgements We would like to thank Robert Herzog, Jaroslav Kˇ riv´ anek, Michael Wimmer, Peter Wonka, Tommer Ley- vand, David Luebke, and Hansong Zhang for providing us various materials used in the tutorial. This work has been partially supported by the EU under the project no. IST-2-004363 (GameTools) and by the Min- istry of Education, Youth and Sports of the Czech Republic under the research program LC-06008 (Center for Computer Graphics). 4 � The Eurographics Association 2006. c
Havran and Bittner / Efficient Sorting and Searching in Rendering Algorithms Efficient Sorting and Searching Content in Rendering Algorithms Part One Eurographics 2006 Tutorial T4 • Introduction to Rendering • Sorting and Searching Vlastimil Havran • Hierarchical Data Structures Czech Technical University in Prague • Ray Shooting Ji � í Bittner • Questions and Answers (5 minutes) Czech Technical University in Prague Vienna University of Technology Overview 2 Tutorial Goals Content • Recall that we often use sorting and Part Two searching in rendering • Hidden Surface Removal • Highlight connections between different • Visibility Culling problems in rendering • Photon Maps and Irradiance Caching • Briefly show efficient solutions • Ray Maps • Show unusual solutions resulting from • Other Algorithms twisting searching queries and domains • Questions and Answers (10 minutes) Overview Overview 3 4 What is Not Covered Here • Collision detection algorithms (EG’05 Tutorial) • Image based rendering • Radiosity • Non-photo realistic rendering • Clustering techniques • Graph theory and other related problems Updated tutorial slides available at http://www.cgg.cvut.cz/˜havran/eg2006tut/ Overview 5 5 � The Eurographics Association 2006. c
Havran and Bittner / Efficient Sorting and Searching in Rendering Algorithms Introduction to Rendering • Rendering equation Introduction to Rendering • Rendering algorithms • Sorting and searching in rendering Vlastimil Havran Czech Technical University in Prague Introduction to Rendering 1 2 Rendering Equation Ray Tracing • Convolving incoming light with surface reflectance properties Introduction to Rendering Introduction to Rendering 3 4 Photon Mapping Path Tracing Phase I: photon shooting Phase II: gathering Introduction to Rendering Introduction to Rendering 5 6 6 � The Eurographics Association 2006. c
Havran and Bittner / Efficient Sorting and Searching in Rendering Algorithms Sorting and Searching Tutorial Motivation General Concept • Sorting and searching takes usually more than 90% of the rendering time! Sorting • Efficiency of sorting and searching is crucial for data (Preprocessing) the performance Controlling • Examples Application – Ray Tracing commands – Photon Density Estimation Searching results Introduction to Rendering Introduction to Rendering 7 8 Example 1 Example 2 Ray Tracing Photon Density Estimation Spatial Hierarchy Photon Map objects photons (Kd-Tree) (Kd-Tree) Ray Tracer Density Estimation Method rays points K-Nearest Neighbor Ray Traversal Search intersections nearest photons Introduction to Rendering Introduction to Rendering 9 10 7 � The Eurographics Association 2006. c
Recommend
More recommend