Adaptive Visualization of Dynamic Unstructured Meshes Steven P . - - PowerPoint PPT Presentation

adaptive visualization of dynamic unstructured meshes
SMART_READER_LITE
LIVE PREVIEW

Adaptive Visualization of Dynamic Unstructured Meshes Steven P . - - PowerPoint PPT Presentation

Adaptive Visualization of Dynamic Unstructured Meshes Steven P . Callahan Dissertation Defense in partial fulfillment for a Ph.D. in Computing Overview What is the problem? Where were we then? Where are we now? How did we


slide-1
SLIDE 1

Adaptive Visualization of Dynamic Unstructured Meshes

Steven P . Callahan Dissertation Defense in partial fulfillment for a Ph.D. in Computing

slide-2
SLIDE 2

Overview

  • What is the problem?
  • Where were we then?
  • Where are we now?
  • How did we get here?
  • Where do we go now?
slide-3
SLIDE 3

Motivation

  • Volume Rendering is important for analysis
  • Visualization is not keeping pace with simulation/measurement
slide-4
SLIDE 4

Direct Volume Rendering

  • Sampling
  • Classification
  • Compositing

[Max 1995] [Porter and Duff 1990] [Sabella 1988] [Blinn 1982]

slide-5
SLIDE 5

Direct Volume Rendering

  • Sampling
  • Classification
  • Compositing

[Max 1995] [Porter and Duff 1990] [Sabella 1988] [Blinn 1982]

Absorption

slide-6
SLIDE 6

Direct Volume Rendering

  • Sampling
  • Classification
  • Compositing

[Max 1995] [Porter and Duff 1990] [Sabella 1988] [Blinn 1982]

Absorption Emission

slide-7
SLIDE 7

Structured vs. Unstructured

[Kindlmann and Durkin 1998] [Kniss et al. 2002] [Kindlmann et al. 2003] [Demarle et al. 2003] [Schneider and Westermann 2003]

slide-8
SLIDE 8

Structured vs. Unstructured

[Farias et al. 2000] [Bunyk et al. 1997] [Weiler et al. 2002] [Weiler et al. 2003] [Wylie et al. 2002]

slide-9
SLIDE 9

Unstructured Volume Rendering

  • Limitations of existing algorithms
  • Interactivity
  • Large data
  • Dynamic data
slide-10
SLIDE 10

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

A Historical Perspective

slide-11
SLIDE 11

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

A Historical Perspective

Software Raycaster

[Garrity 1990]

slide-12
SLIDE 12

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

A Historical Perspective

Software Raycaster

Projected Tetrahedra

[Shirley and Tuchman 1990]

slide-13
SLIDE 13

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

A Historical Perspective

Software Raycaster

Incremental Slicing

Projected Tetrahedra

[Yagel et al. 1996]

slide-14
SLIDE 14

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

A Historical Perspective

Software Raycaster

Hardware Projected Tetrahedra

Projected Tetrahedra

[Wylie et al. 2002]

Incremental Slicing

slide-15
SLIDE 15

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

A Historical Perspective

Software Raycaster

Hardware Raycasting

Projected Tetrahedra

[Weiler et al. 2003]

Incremental Slicing Hardware Projected Tetrahedra

slide-16
SLIDE 16

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

A Historical Perspective

Software Raycaster Projected Tetrahedra Incremental Slicing Hardware Projected Tetrahedra Hardware Raycasting

slide-17
SLIDE 17

Thesis Statement

Interactive volume rendering of dynamic unstructured grids requires a combination of novel software algorithms and frameworks that efficiently amortize recent hardware configurations

slide-18
SLIDE 18

Contributions

  • Improved interactive volume rendering
  • Object-space acceleration (Chapter 3)
  • Image-space acceleration (Chapter 4)
  • Increased limits on data size
  • Progressive volume rendering (Chapter 5)
  • Extended support for dynamic data
  • Time-varying scalar field volume rendering (Chapter 6)
  • Created support for exploration of large dynamic volumes
  • Transfer function specification (Chapter 7)
slide-19
SLIDE 19

Contributions

  • Journal Publications
  • Conference Publications
  • Unpublished Manuscripts
  • Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering. TVCG, 2005
  • A Survey of GPU-Based Volume Rendering of Unstructured Grids. RITA, 2005
  • Progressive Volume Rendering of Large Unstructured Grids. TVCG, 2006
  • Streaming Simplification of Tetrahedral Meshes. TVCG, 2007
  • An Adaptive Framework for Visualizing Unstructured Grids with Time-Varying Scalar Fields. Parallel

Computing, 2007

  • Direct Volume Rendering: A 3D Plotting Technique for Scientific Data. Computing in Sci. and Eng.,

2008

  • Hardware Accelerated Simulated Radiography. Vis, 2005
  • Interactive Rendering of Large Unstructured Grids Using Dynamic Level-Of-Detail. Vis, 2005
  • Interactive Volume Rendering of Unstructured Grids with Time-Varying Scalar Fields. EGPGV, 2006
  • Multi-Fragment Effects on the GPU using the k-Buffer. i3D, 2007
  • iRun: Interactive Rendering of Large Unstructured Grids. EGPGV, 2007
  • Hardware-Assisted Point-Based Volume Rendering of Tetrahedral Meshes. SIBGRAPI, 2007
  • Interactive Transfer Function Specification for Direct Volume Rendering of Disparate Volumes.

SCI Tech Report, 2007

  • Image-Based Acceleration for Direct Volume Rendering of Unstructured Grids using Joint Bilateral
  • Upsampling. Submitted, 2008
slide-20
SLIDE 20

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

Dissertation Outcome

Projected Tetrahedra Software Raycaster Incremental Slicing Hardware Projected Tetrahedra Hardware Raycasting

Hardware-Assisted Visibility Sorting

slide-21
SLIDE 21

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

Dissertation Outcome

Projected Tetrahedra Software Raycaster Incremental Slicing Hardware Projected Tetrahedra Hardware Raycasting HAVS

Point-Based Volume Rendering

slide-22
SLIDE 22

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

Dissertation Outcome

Projected Tetrahedra Software Raycaster Incremental Slicing Hardware Projected Tetrahedra Hardware Raycasting HAVS PBVR

slide-23
SLIDE 23

Unstructured Volume Rendering Algorithms vs. Hardware

1 10 100 1000 10000 100000 1000000 10000000 1 9 9 1 9 9 1 1 9 9 2 1 9 9 3 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 Year Tetrahedra/Second Algorithms Hardware

Dissertation Outcome

Projected Tetrahedra Software Raycaster Incremental Slicing Hardware Projected Tetrahedra Hardware Raycasting HAVS PBVR

x 20 with LOD

slide-24
SLIDE 24

Dissertation Outcome

slide-25
SLIDE 25

Contributions

  • Improved interactive volume rendering
  • Object-space acceleration (Chapter 3)
  • Image-space acceleration (Chapter 4)
  • Increased limits on data size
  • Progressive volume rendering (Chapter 5)
  • Extended support for dynamic data
  • Time-varying scalar field volume rendering (Chapter 6)
  • Created support for exploration of large dynamic volumes
  • Transfer function specification (Chapter 7)
slide-26
SLIDE 26

Improving Interactivity

Object-Space Acceleration: Point-Based Volume Rendering

slide-27
SLIDE 27
  • Points are more flexible and require less data to represent
  • Large volumes have subpixel-sized geometry

Object-Space Acceleration

slide-28
SLIDE 28

Object-Space Acceleration

  • Error minimized by reshaping points
  • Cull fragments in fragment shader

r

slide-29
SLIDE 29

Object-Space Acceleration

  • Fragments distances are classified and composited
  • Sample-based level-of-detail used for interactivity

100% 5.6 fps 50% 20 fps 25% 50 fps 15% 100 fps

slide-30
SLIDE 30

Improving Interactivity

Image-Space Acceleration: Joint Bilateral Upsampling for Volume Rendering

slide-31
SLIDE 31

Image-Space Acceleration

  • Bilateral filter for image denoising

[Tomasi and Manduchi 1998] Input Output

∗ ∗ ∗

Example from Siggraph 2007 Tutorial by Sylvain Paris

I = Image R = Reference Image f = spatial filter g = range filter p = position of center pixel k = normalization term Omega = spatial support Domain Range

slide-32
SLIDE 32

Image-Space Acceleration

  • Joint bilateral upsampling for efficient image enhancement

[Kopf et al. 2007] I = Image R = Reference Image f = spatial filter g = range filter p = position of center pixel k = normalization term Omega = spatial support

=

Reference Image (R) Original Image (I) Solution Image (S)

Example from Siggraph 2007 presentation by Johannes Kopf

slide-33
SLIDE 33

Image-Space Acceleration

  • Joint bilateral upsampling for accelerating rendering

=

Reference Image (R) Image (I) Solution Image (S) I = Image R = Reference Image f = spatial filter g = range filter p = position of center pixel k = normalization term Omega = spatial support

slide-34
SLIDE 34

Image-Space Acceleration

  • Effect similar to smoothing the geometry

Full Resolution Joint Bilateral Upsampled x4

slide-35
SLIDE 35

Image-Space Acceleration

  • Overview
  • Render image into small offscreen buffer (I)
  • Render boundaries as n depth layers into large offscreen buffers (R1...Rn)
  • Bind I and R1...Rn as textures and render large image (S) using joint bilateral

upsampling

...

∗ ∗

=

Image (I) Depth Layer 1 (R1) Depth Layer 2 (R2) Solution Image (S)

slide-36
SLIDE 36

Original

Image-Space Acceleration

  • Quality Results

Linearly Upsampled x8

slide-37
SLIDE 37

Original Bilaterally Upsampled x8

Image-Space Acceleration

  • Quality Results
slide-38
SLIDE 38

Image-Space Acceleration

  • Performance Results

x28 x12

slide-39
SLIDE 39

Increasing Allowable Data Size

Progressive Volume Rendering

slide-40
SLIDE 40

Progressive Volume Rendering

  • Data too large to...
  • Render at once
  • Fit in memory
  • Render locally
  • Render incrementally
  • Decompose (server)
  • Transmit (network)
  • Accumulate (client)
slide-41
SLIDE 41

Progressive Volume Rendering

  • Modes
  • Interactive
  • Boundaries
  • Progressive
  • Some internal finished
  • Some internal approximated
  • Completed
  • Save the image
  • Configurations
  • Thin client
  • Robust client
slide-42
SLIDE 42

Handling Dynamic Data

Volume Rendering Time-Varying Scalar Fields

slide-43
SLIDE 43

Time-Varying Scalar Fields

  • Volume rendering
  • Dynamic level-of-detail
  • Compression and data transfer
  • Parallel processing
slide-44
SLIDE 44

Time-Varying Scalar Fields

  • Volume rendering
  • Dynamic level-of-detail
  • Compression and data transfer
  • Parallel processing

Direct Indirect

slide-45
SLIDE 45

Time-Varying Scalar Fields

  • Volume rendering
  • Dynamic level-of-detail
  • Compression and data transfer
  • Parallel processing

100% at 18 fps 25% at 63 fps 10% at 125 fps

slide-46
SLIDE 46
  • Sampling strategies:
  • Statistically dynamic data
  • Local sampling
  • Statistically static data
  • Global Sampling

Time-Varying Scalar Fields

  • Volume rendering
  • Dynamic level-of-detail
  • Compression and data transfer
  • Parallel processing
slide-47
SLIDE 47

Time-Varying Scalar Fields

  • Volume rendering
  • Dynamic level-of-detail
  • Compression and data transfer
  • Parallel processing
slide-48
SLIDE 48

Time-Varying Scalar Fields

  • Volume rendering
  • Dynamic level-of-detail
  • Compression and data transfer
  • Parallel processing
  • Manage all resources with threads
  • Level-of-Detail and Sorting
  • Decompression
  • Rendering
slide-49
SLIDE 49

Time-Varying Scalar Fields

  • Volume rendering
  • Dynamic level-of-detail
  • Compression and data transfer
  • Parallel processing
  • Manage all resources with threads
  • Level-of-Detail and Sorting
  • Decompression
  • Rendering

Results: dynamic data is only 5% slower than static data

slide-50
SLIDE 50

Enabling Volume Exploration

Transfer Function Specification

slide-51
SLIDE 51
  • Transfer Functions
  • Maps a data value to color and opacity
  • Lookup table
  • Fixed number of bins
  • Problems for unstructured grids
  • High-dynamic range data
  • Multiple features
  • Time-varying data

Transfer Function Specification

α f

0 0 1 1

f(x) = R → R4, s → (r, g, b, α)

slide-52
SLIDE 52

Transfer Function Specification

  • Range Mapping for high-dynamic range data

Original Histogram Range Mapping

slide-53
SLIDE 53

Transfer Function Specification

  • Blending for feature finding

TF1 TF2 TF1 ADD TF2 TF1 AND TF2 TF1 XOR TF2

ADD XOR AND

slide-54
SLIDE 54

Transfer Function Specification

  • Keyframing for time-varying data

Time Step 12 Time Step 15 Time Step 32 Time Step 35 Step 1 Step 2 TF2 TF1 Step 1 Step 2 TF2 TF1

Linear Blend Non-Linear Blend

slide-55
SLIDE 55

Results

1 Million Tetrahedra 40 Time Steps 4 Transfer Functions 20% LOD Full Quality

slide-56
SLIDE 56

Summary

This dissertation introduced new algorithms and frameworks that efficiently use available hardware for improving the state-of-the-art in volume rendering for large, dynamic unstructured volumes Contributions:

  • Image-space acceleration for volume rendering
  • Object-space acceleration for volume rendering
  • Progressive volume rendering for large data
  • Time-varying volume rendering for dynamic data
  • Transfer function specification for large, dynamic data
slide-57
SLIDE 57

Future Work

  • Bricking strategies for unstructured meshes
  • Stencil-routed k-buffer for volume rendering
  • Dynamic geometry/topology
  • Higher order elements
  • Source code release of complete tool
slide-58
SLIDE 58

Acknowledgments

  • Advisor:
  • Clàudio Silva
  • Committee:
  • Clàudio Silva, Peter Shirley, Mike Kirby, Valerio Pascucci, João Comba
  • Contributors:
  • Erik Anderson, Fabio Bernardon, Louis Bavoil, João Comba, Linh Ha, Valerio Pascucci,

Carlos Scheidegger, John Schreiner, Clàudio Silva

  • Other:
  • SCI, SoC, VGC, VisTrails groups
  • Karen, Deb, and other administrative staff
  • Faculty and Staff in SCI and SoC
  • Funding:
  • Department of Energy, National Science Foundation, U of U Graduate Research

Fellowship

  • Family:
  • Kristy Callahan, Lowell and Janice Callahan, Helen and Verlon Duncan
slide-59
SLIDE 59

Thank You!

Questions?