1 A Novel Page-Based Data Structure for Interactive Walkthroughs Behzad Sajadi Yan Huang Pablo Diaz-Gutierrez Sung-Eui Yoon M. Gopi
2 Outline Page-Based Rendering Data Fetching Algorithm 2-Factor Data Layout Implementation and Results Summary Conclusion and Future Work
3 Traditional Rendering Workflow
4 Page Based Rendering Workflow
5 Page Format Self contained information Less bytes for vertex indices Effective compression # vertices # faces List of vertices with attributes List of vertices with attributes Indexed triangle list with attributes Indexed triangle list with attributes
Eliminating fragment accesses 6 Traditional K-d treePage based K-d tree Storage OS cache Process heap space High data management cost No data management cost Low data management cost
7 Major Steps of the Workflows Traditional rendering workflow Page based rendering workflow Scene Data structure Layout Approximated scene Data structure
8 Advantages Less space required for the data structure K-d tree on pages instead of triangles Independence of the layout and data structure Any layout can be converted to the page based format
9 Outline Page-Based Rendering Data Fetching Algorithm 2-Factor Data Layout Implementation and Results Summary Conclusion and Future Work
10 Rendering Flow K-d tree structure Render Fetch data Page numbers after VF Culling Triangles
11 Sorting the Page Numbers Access pattern is based on storage …... K-d tree without sorting …... 1,72,54,125,79,148,16 1, 2, 4, 5, 7, 8, 9, 12, 14, 16 K-d tree after sorting 1,72,54,125,79,148,16
12 Rendering Flow K-d tree structure Sort page numbers Render Fetch data Page numbers after VF Culling Triangles 1, 2, 4,
13 Backface Culling
14 Rendering Flow K-d tree structure Sort page numbers Render Fetch data Backface Culling Page numbers after VF Culling Triangles 1, 2, 4,
15 Outline Page-Based Rendering Data Fetching Algorithm 2-Factor Data Layout Implementation and Results Summary Conclusion and Future Work
16 Related Works Cache oblivious layout by Yoon et al. [2006] Space filling curves Morton layout (Z-Order) Hilbert layout
17 Graph Construction Nodes: Group of triangles Edge weights: Distance between the primitives of the nodes
18 Steps of the Method Use GLA (Generalized Lloyd's Algorithm) to partition the primitives Use [Diaz-Gutierrez and Gopi 2005] to get a 2-factor Iterate in a hierarchical manner
19 The Layout Hierarchy Ordering using 2-Factor Layouts Partitioning using GLA clustering Final Layout:
20 Advantages Operates globally Scalable Amenable for multiple proximity measures
21 Outline Page-Based Rendering Data Fetching Algorithm 2-Factor Data Layout Implementation and Results Summary Conclusion and Future Work
22 The City Model Floor planned using role playing city map generator 5.40
23 The City Model (Contd.) 3D models of houses and trees were replaced Cars were added in the streets
24 The City Model (Contd.) Specifications 110 million triangles 90 million vertices Spans 4528 MB Around 10,000 objects 115 million vertices in page format Spans 3814 MB in page format
25 Texture Based Simplification [Aliaga and Lastra 1997]
26 Statistics Frame rates Raster scan layout: 20 FPS Cache oblivious layout by Yoon et al. [2006]: 27 fps 2-factor layout: 28 FPS Rendering statistics (our layout) Page size: 4 KB Average disk-page per frame: 2365 Average triangle per frame: 240 K
27 Statistics (Contd.) Computation times Page format conversion: 15 min (Offline) K-d tree construction: 5 min (Offline) Billboard rendering: 20 hour (Offline) Program initialization: 20 sec Consumed memory Billboards: 640 MB K-d tree: 96 MB (including bounding boxes and normal cones)
28
29 Outline Page-Based Rendering Data Fetching Algorithm 2-Factor Data Layout Implementation and Results Summary Conclusion and Future Work
30 Before Rendering (Offline) Steps Given layout Convert to the page format Construct the disk-page hierarchy
Rendering (Online) Steps K-d tree structure Sort page numbers Render Fetch data Backface Culling Page numbers after VF Culling Triangles 1, 2, 4,
32 Outline Page-Based Rendering Data Fetching Algorithm 2-Factor Data Layout Implementation and Results Summary Conclusion and Future Work
33 Conclusion A simple data structure on the disk pages Simplicity High Performance Generality A new cache oblivious layout
34 Future Work Analyzing the disk-page hierarchy on other data structures Exploring other applications that can make use of this data structure Including simplification techniques Adding a cache management system Analyzing the number cache hits and misses
35 Questions?