350 likes | 480 Views
A Novel Page-Based Data Structure for Interactive Walkthroughs. Behzad Sajadi Yan Huang Pablo Diaz-Gutierrez Sung-Eui Yoon M. Gopi. Outline. Page-Based Rendering Data Fetching Algorithm 2-Factor Data Layout Implementation and Results Summary Conclusion and Future Work.
E N D
A Novel Page-Based Data Structure for Interactive Walkthroughs Behzad Sajadi Yan Huang Pablo Diaz-Gutierrez Sung-Eui Yoon M. Gopi
Outline • Page-Based Rendering • Data Fetching Algorithm • 2-Factor Data Layout • Implementation and Results • Summary • Conclusion and Future Work
Traditional Rendering Workflow 7 8 1 2 5 6 4 3
Page Based Rendering Workflow 7 8 1 2 5 6 4 3
Page Format • Self contained information • Less bytes for vertex indices • Effective compression # vertices # faces List of vertices with attributes Indexed triangle list with attributes
Eliminating fragment accesses Low data management cost Process heap space High data management cost No data management cost OS cache Storage Traditional K-d tree Page based K-d tree
Major Steps of the Workflows • Traditional rendering workflow • Page based rendering workflow Scene Data structure Layout Layout Approximated scene Data structure
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
Outline • Page-Based Rendering • Data Fetching Algorithm • 2-Factor Data Layout • Implementation and Results • Summary • Conclusion and Future Work
Rendering Flow Page numbers after VF Culling Triangles K-d tree structure Fetch data Render 1 2 4 3
Sorting the Page Numbers • Access pattern is based on storage . . . . . . … … 2,5 1,7 4,12 5,7 9,14 8,16 2,5 1,7 4,12 5,7 9,14 8,16 1, 2, 4, 5, 7, 8, 9, 12, 14, 16 K-d tree without sorting K-d tree after sorting
Rendering Flow Page numbers after VF Culling Triangles K-d tree structure Sort page numbers Fetch data Render 1 2 1, 2, 4, 5 4 3
Rendering Flow Page numbers after VF Culling Triangles K-d tree structure Sort page numbers Backface Culling Fetch data Render 1 2 1, 2, 4, 5 4 3
Outline • Page-Based Rendering • Data Fetching Algorithm • 2-Factor Data Layout • Implementation and Results • Summary • Conclusion and Future Work
Related Works • Cache oblivious layout by Yoon et al. [2006] • Space filling curves • Morton layout (Z-Order) • Hilbert layout
Graph Construction • Nodes: Group of triangles • Edge weights: Distance between the primitives of the nodes 3 2 6.7 5 5 2.5 8 5.3 1.8 4
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
The Layout Hierarchy Ordering using 2-Factor Layouts Partitioning using GLA clustering 2 6 1 5 7 4 3 Final Layout: 2 1 6 7 4 5 3
Advantages • Operates globally • Scalable • Amenable for multiple proximity measures
Outline • Page-Based Rendering • Data Fetching Algorithm • 2-Factor Data Layout • Implementation and Results • Summary • Conclusion and Future Work
The City Model • Floor planned using role playing city map generator 5.40
The City Model (Contd.) • 3D models of houses and trees were replaced • Cars were added in the streets
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
Texture Based Simplification [Aliaga and Lastra 1997]
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
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)
Outline • Page-Based Rendering • Data Fetching Algorithm • 2-Factor Data Layout • Implementation and Results • Summary • Conclusion and Future Work
Before Rendering (Offline) Steps Given layout Convert to the page format Construct the disk-page hierarchy 1 2 3 4
Rendering (Online) Steps Page numbers after VF Culling Triangles K-d tree structure Sort page numbers Backface Culling Fetch data Render 1 2 1, 2, 4, 5 4 3
Outline • Page-Based Rendering • Data Fetching Algorithm • 2-Factor Data Layout • Implementation and Results • Summary • Conclusion and Future Work
Conclusion • A simple data structure on the disk pages • Simplicity • High Performance • Generality • A new cache oblivious layout
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