Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

30
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

description

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 - PowerPoint PPT Presentation

Transcript of Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Page 1: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Efficient Fitting and Rendering of Large Scattered Data SetsUsing Subdivision Surfaces

Vincent Scheib1, Jörg Haber2,

Ming C. Lin1, Hans-Peter Seidel2

1-UNC Chapel Hill 2-MPI für Informatik

Page 2: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Presentation Overview

Introduction we are here

Fitting method

Rendering technique

Results

Page 3: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Goal

Interactively display a smooth surface defined by many scattered data points. arbitrary 2d functional data: height-fields

Page 4: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces
Page 5: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Method

Fit a smooth surface to data points

Display smooth surface interactively

Page 6: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Challenges

Large number of data points (1,000,000) Fitting is difficult

Large continuous surface with much detail Rendering is slow

Page 7: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

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

Page 8: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

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.

Page 9: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Previous Work – Fitting

Primary: Haber et al. 01Fitting: Franke 82, Lancaster et al. 86, Lodha et al. 99, Schumaker 76Tensor product splines & Nurbs: Dierckx 93, Forsey et al. 95, Greiner et al. 96, Qin et al 96Other spline methods: Lee et al. 97, Schmitt 86, Zhang et al. 98Radial basis methods: Buhmann 00, Carr et al. 01, Franke et al. 90, Powell 87

Page 10: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Previous Work – Terrain

Adaptive LOD: Duchaineau et al. 97, Ferguson et al. 90, Lindstrom et al. 96, Lindstrom et al. 01LOD: Stewart 97, Wiley et al. 97Visibility: Cohen et al. 93, Cohen et al. 95, Coquillart et al. 84, Lee et al. 97TIN: Cignoni et al. 97, Klein et al. 98Subdivison Surface: Rose et al. 01

Page 11: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Presentation Overview

Introduction

Fitting method we are here

Rendering technique

Results

Page 12: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Fitting – Challenges

Large number of data points (millions)

Unknown 2D domain

Unknown ordering

Holes possible

Varied Density

773756.18 219787.37 743056.96101338.63 458053.70 756748.44237783.93 487348.18 457761.01882215.91 453792.33 905793.92013454.35 346526.21 445262.09130348.26 361542.99 924993.53572820.22 878734.42 262069.23993199.99 428390.50 434400.99463460.63 858168.16 280848.09420387.06 832663.36 798203.96372409.45 644566.37 497683.69962804.19 911252.39 621007.75128392.59 154947.23 948117.55673782.18 426081.35 756265.86498310.05 114353.99 281902.11771987.34 898968.70 982882.92104486.49 373192.70 336830.10

Page 13: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Fitting – Divide and Conquer

Binary Triangle Tree (BTT)

Page 14: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Fitting – SVD

Obtain Z value for each vertexLocal AreasSingular Value DecompositionLeast Squares fit Bivariate Polynomial

Page 15: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Presentation Overview

Introduction

Fitting method

Rendering technique we are here

Results

Page 16: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Rendering – Overview

High detail Large area

Page 17: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Rendering – Tessellation

Page 18: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Rendering – Tessellation

Binary triangle tree without and with butterfly subdivision

Page 19: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Rendering – Adaptive LOD

a. butterfly b. stitching c. control mesh (BTT)d. decimated control mesh

View point on left

Page 20: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Rendering – Video

Video illustrating tessellation

Page 21: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Presentation Overview

Introduction

Fitting method

Rendering technique

Results we are here

Page 22: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

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

Page 23: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

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

Page 24: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Results – Error

1 million point 12x12 km real world data

15m max error; 0.8m RMS error

13 seconds fitting computation

Page 25: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Results – Performance

Animation comparing new method with previous Bezier patch method.

Page 26: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

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

Page 27: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Future Work

Exploit coherency

Balance CPU/GPU workload Static display lists, Tile based?

Page 28: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

Acknowledgments

Funding Intel Corporation National Science Foundation Office of Naval Research

Page 29: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces

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

Page 30: Efficient Fitting and Rendering of Large Scattered Data Sets Using Subdivision Surfaces