Cody White Department of Computer Science and Engineering University of Nevada, Reno.
-
date post
23-Jan-2016 -
Category
Documents
-
view
220 -
download
0
Transcript of Cody White Department of Computer Science and Engineering University of Nevada, Reno.
![Page 1: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/1.jpg)
Out-of-Core Data Management for Planetary Terrain
Cody White
Department of Computer Science and EngineeringUniversity of Nevada, Reno
![Page 2: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/2.jpg)
Special Thanks
Dr. Frederick C. Harris, Jr. Dr. Sergiu Dascalu Dr. Scott Bassett
Joe Mahsman
![Page 3: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/3.jpg)
Overview
Introduction Background Work Our Solution Implementation Results Conclusions and Future Work
![Page 4: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/4.jpg)
Introduction
Department of Computer Science and EngineeringUniversity of Nevada, Reno
![Page 5: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/5.jpg)
What is Terrain Rendering?
Approximation of real terrain in a computer simulation Realistic Fictional
![Page 6: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/6.jpg)
What is Terrain Rendering?
![Page 7: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/7.jpg)
What Do We Want Terrain Rendering to Be?
![Page 8: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/8.jpg)
What Do We Want Terrain Rendering to Be?
Photorealistic Terrain gradients Coloring Lighting
![Page 9: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/9.jpg)
How Do We Do This?
Large amount of data Gigabytes or more Too big for modern graphics cards▪ 1.5GB of RAM (nVidia GTX 580)
![Page 10: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/10.jpg)
What About Whole Planets?
Much more data than just Mt. Rose
Multiple types of data projections
![Page 11: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/11.jpg)
What About Whole Planets? Many datasets
Some large Some small
![Page 12: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/12.jpg)
What Do We Need?
Data streaming Visibility testing Level-of-detail (LOD) selection
![Page 13: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/13.jpg)
Level-of-Detail (LOD)
Objects farther away have less detail Helps:
Realism Efficiency
![Page 14: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/14.jpg)
Today
Adapt planar data-caching techniques to a planetary scale
Adapt a LOD scheme for planetary datasets
Utilize the GPU for data composition Datasets can be added at runtime
![Page 15: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/15.jpg)
Background
Department of Computer Science and EngineeringUniversity of Nevada, Reno
![Page 16: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/16.jpg)
Heightmaps
Texture containing information about the terrain Heights Easy to use with the GPU
![Page 17: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/17.jpg)
Heightmaps
![Page 18: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/18.jpg)
Partitioning the Heightmap
W. De Boer. Fast Terrain Rendering Using Geometrical Mipmapping. October 2000.
![Page 19: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/19.jpg)
Coloring
Same as heightmap Contains data about color
![Page 20: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/20.jpg)
Terrain
+
![Page 21: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/21.jpg)
GPU
Speedup existing algorithms Mesh generation1
Data composition
1R. Kooima, J. Leigh, A. Johnson, D. Roberts, M.SubbaRao, and T. DeFanti. Planetary-Scale Terrain Composition. IEEE Transactions on Visualization and Computer Graphics. 2009.
![Page 22: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/22.jpg)
Out-of-Core
Hard-drive to system memory Based on view
GPU Store datasets as part of a texture1
Atlas
1R. Kooima, J. Leigh, A. Johnson, D. Roberts, M.SubbaRao, and T. DeFanti. Planetary-Scale Terrain Composition. IEEE Transactions on Visualization and Computer Graphics. 2009.
![Page 23: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/23.jpg)
Texture Atlas
Dataset 1 Dataset 2 Dataset 3
Dataset 4 Dataset 5 Dataset 6
Texture containing datasets
![Page 24: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/24.jpg)
Texture Atlas
Why? Easy data composition Efficiency Stays in GPU memory
![Page 25: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/25.jpg)
Out-of-Core Data Caching for Planetary
Terrain
Department of Computer Science and EngineeringUniversity of Nevada, Reno
![Page 26: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/26.jpg)
Algorithm Overview
Read data using GDAL
Partition data into quadtrees
Create BVH
Populate runtime BVH
Render Interface
Start thread for searching
Upload patches to GPU
Search BVH for data
Preprocessing Runtime
![Page 27: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/27.jpg)
Preprocessing
Large amounts of data Need to be processed before runtime
Only happens once Different instances of the program
Read data using GDAL
Partition data into quadtrees
Create BVH
![Page 28: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/28.jpg)
Preprocessing - Steps
1. Partition datasets into smaller pieces using GDAL1
2. Place partitioned datasets into a quadtree hierarchy
Perform mipmapping operations3. Order datasets into a bounding
volume hierarchy (BVH)
1Geospatial Data Abstraction Library. http://www.gdal.org
Read data using GDAL
Partition data into quadtrees
Create BVH
![Page 29: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/29.jpg)
GDAL
Extract Projection coordinates of dataset Projection information of dataset
P2
P1 P4
P3
P5
Read data using GDAL
Partition data into quadtrees
Create BVH
![Page 30: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/30.jpg)
GDAL
Store Lower left coordinate in projection
coordinates Width and height in projection
coordinates
Width
Heig
ht
L
Read data using GDAL
Partition data into quadtrees
Create BVH
![Page 31: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/31.jpg)
Quadtree Creation
Spatial subdivision hierarchy where all nodes have either zero or four children
Four equal-sized children Easy mipmapping
Read data using GDAL
Partition data into quadtrees
Create BVH
![Page 32: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/32.jpg)
Quadtree Creation
Bottom-up approach High-resolution data in the leaves Lower detail nodes up the tree
Serialize to the hard drive
Read data using GDAL
Partition data into quadtrees
Create BVH
![Page 33: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/33.jpg)
MipmappingRead data using
GDAL
Partition data into quadtrees
Create BVH
![Page 34: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/34.jpg)
BVH
Ordered based on geographic location
Read data using GDAL
Partition data into quadtrees
Create BVH
![Page 35: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/35.jpg)
Runtime
1. Search the BVH for data2. Determine the LOD3. Upload data to the GPU
1. Composite the data4. Perform maintenance5. Allow for the insertion of new data
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 36: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/36.jpg)
Searching
Frustum-box collision Test quadtrees iff:
1. Frustum collides2. Dot product of dataset normal and
inverse view > zero Determine level of tree based on
LOD Preformed by a background thread
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 37: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/37.jpg)
LOD Selection
Error-based metric Mipmaps introduce error (δm) As data gets coarser, error should
get higher
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 38: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/38.jpg)
LOD Selection
Need to calculate the error depending on the screen resolution and field of view
S = screen resolution τ = user-defined threshold fov = field of view of the camera
T. Lauritsen and S. Nielsen. Rendering Very Large, Very Detailed Terrains. 2005
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 39: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/39.jpg)
Searching
Data uploaded to atlas when available
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 40: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/40.jpg)
Texture AtlasCompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 41: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/41.jpg)
GPU
Datasets composited on the GPU For each dataset:
Render center Screen-aligned quad Composite into framebuffer object
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 42: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/42.jpg)
GPU
Screen-aligned quad
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 43: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/43.jpg)
GPU
Width
Heig
ht
L
D
D = P – LS = (width, height)
P(u,v) = D / S
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 44: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/44.jpg)
GPU
P
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 45: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/45.jpg)
Maintenance
Too large for GPU memory to handle Maintain a list of distances from viewer
to each patch Remove farthest patches Replace with new, closer patches
Performed by a separate thread
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 46: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/46.jpg)
Insertion of New Data
User may want to add new data Move through same preprocessing
step with new data Fit into existing tree Ready for rendering Background thread
CompositeSearch
Maintenance
Insertion
LOD
Upload
![Page 47: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/47.jpg)
Data Types
Three types of data: Height Color Normal
Handled by multiple threads
![Page 48: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/48.jpg)
Implementation
Department of Computer Science and EngineeringUniversity of Nevada, Reno
![Page 49: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/49.jpg)
Implementation
Extends Hesperian Mars
Written in C++ VR and desktop environment
![Page 50: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/50.jpg)
Video
![Page 51: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/51.jpg)
Results
Department of Computer Science and EngineeringUniversity of Nevada, Reno
![Page 52: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/52.jpg)
Test Machine
Intel Core i7 at 2.8GHz 8 GB of RAM nVidia GeForce GTX 480
480 cores 1.4MHz per core 1536MB of graphics memory
![Page 53: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/53.jpg)
Test Setup
GPU set to have a maximum atlas of 8192x8192 per data type
Averaged over 10,000 frames Hesperian as a base
![Page 54: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/54.jpg)
Data
5335.39MB of data
Name Scale (m/px)
Width Height Size (MB)
MOC Tile 1 2604.699 4096 4096 191.84
MOLA Height
1853.000 11520 11520 126.56
Victoria Height
1.011 1279 1694 8.27
Select Dataset Information
![Page 55: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/55.jpg)
Planetary View
![Page 56: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/56.jpg)
Olympus Mons
![Page 57: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/57.jpg)
Flyby
Flyby from south to north pole
![Page 58: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/58.jpg)
Results
Scene Data Cacher Hesperian Percent Different
Planetary View 127.15 118.04 +7.7%
Olympus Mons 127.36 115.52 +10.2%
Flyby 107.20 111.54 -3.89%
Average Frames Per Second (FPS)
![Page 59: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/59.jpg)
Timing
Flyby scene Worst case
4.82% of total runtime Rest in Hesperian
Process Time (ms) Percent of Runtime
Uploading 0.064 .68%
Compositing 0.360 3.28%
Average Timing of Algorithm Steps
![Page 60: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/60.jpg)
Visual Results
![Page 61: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/61.jpg)
Visual Results
![Page 62: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/62.jpg)
Visual Caveat
![Page 63: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/63.jpg)
Conclusions and Future Work
Department of Computer Science and EngineeringUniversity of Nevada, Reno
![Page 64: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/64.jpg)
Conclusions
Presented a data-caching mechanism Planetary terrain Hybrid CPU/GPU approach Insertion of new data Decoupled from the renderer
![Page 65: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/65.jpg)
Future Work
Data compression Laid out differently on hard drive Global color dataset
![Page 66: Cody White Department of Computer Science and Engineering University of Nevada, Reno.](https://reader034.fdocuments.in/reader034/viewer/2022051418/56649d2c5503460f94a025ce/html5/thumbnails/66.jpg)
Questions