Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces Vincent Scheib 1, Jörg Haber 2, Ming C. Lin 1, Hans-Peter Seidel 2 1-UNC Chapel Hill 2-MPI für Informatik
Presentation Overview Introduction we are here Fitting method Rendering technique Results
Goal Interactively display a smooth surface defined by many scattered data points. arbitrary 2d functional data: height-fields
Method Fit a smooth surface to data points Display smooth surface interactively
Challenges Large number of data points (1,000,000) Fitting is difficult Large continuous surface with much detail Rendering is slow
Challenges – Solutions Large number of data points (1,000,000) Fitting is difficult Local area support Large continuous surface with much detail Rendering is slow Adaptive level of detail
Contribution Overview Adaptive subdivision of scattered data points via binary triangle tree (BTT) Local least squares fitting based on BTT Modified Butterfly subdivision surface fit to BTT Adaptive BTT terrain rendering algorithm used to simplify butterfly control mesh.
Previous Work – Fitting Primary: Haber et al. 01 Fitting: Franke 82, Lancaster et al. 86, Lodha et al. 99, Schumaker 76 Tensor product splines & Nurbs: Dierckx 93, Forsey et al. 95, Greiner et al. 96, Qin et al 96 Other spline methods: Lee et al. 97, Schmitt 86, Zhang et al. 98 Radial basis methods: Buhmann 00, Carr et al. 01, Franke et al. 90, Powell 87
Previous Work – Terrain Adaptive LOD: Duchaineau et al. 97, Ferguson et al. 90, Lindstrom et al. 96, Lindstrom et al. 01 LOD: Stewart 97, Wiley et al. 97 Visibility: Cohen et al. 93, Cohen et al. 95, Coquillart et al. 84, Lee et al. 97 TIN: Cignoni et al. 97, Klein et al. 98 Subdivison Surface: Rose et al. 01
Presentation Overview Introduction Fitting method we are here Rendering technique Results
Fitting – Challenges Large number of data points (millions) Unknown 2D domain Unknown ordering Holes possible Varied Density
Fitting – Divide and Conquer Binary Triangle Tree (BTT)
Fitting – SVD Obtain Z value for each vertex Local Areas Singular Value Decomposition Least Squares fit Bivariate Polynomial
Presentation Overview Introduction Fitting method Rendering technique we are here Results
Rendering – Overview High detailLarge area
Rendering – Tessellation
Binary triangle tree without and with butterfly subdivision
Rendering – Adaptive LOD a. butterfly b. stitching c. control mesh (BTT) d. decimated control mesh View point on left
Rendering – Video Video illustrating tessellation
Presentation Overview Introduction Fitting method Rendering technique Results we are here
Results – Platforms Several PC graphics workstations Pentium2.4GHz GeForce 2GTS Pentium3.9GHz nVidia GeForce 2GTS Xeon 1.5GHz nVidia GeForce 3 Videos recorded form this machine Pentium3 1.7GHz nVidia GeForce 3
Results – Data Sets Scientific Visualization 10,000 data points Survey Terrain Data 45,000 & 736,000 data points Fractal Terrain Data 1,000,000 & 4,000,000 data points
Results – Error 1 million point 12x12 km real world data 15m max error; 0.8m RMS error 13 seconds fitting computation
Results – Performance Animation comparing new method with previous Bezier patch method.
Conclusions CPU bound conservative triangle rendering Adaptive tessellation error metrics for terrain simplification subdivision surface Tolerable error accepted for speed Combination of fast fitting and interactive rendering
Future Work Exploit coherency Balance CPU/GPU workload Static display lists, Tile based?
Acknowledgments Funding Intel Corporation National Science Foundation Office of Naval Research
Acknowledgments Sample BTT and Butterfly Subdivision Code Gamasutra.com & Andrew Zaferakis Data sets Landesamt für Kataster-, Vermessungs- und Kartenwesen des Saarlandes Leandra Vicci Advice Dinesh Manocha