Multiple volumetric datasets

28
Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs SIGGRAPH ASIA 2009 2010/03/31 ked

description

A summary of the Siggraph Asia paper, "Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs."

Transcript of Multiple volumetric datasets

Page 1: Multiple volumetric datasets

Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

SIGGRAPH ASIA 2009

2010/03/31

ked

Page 2: Multiple volumetric datasets

Authors

Bernhard KainzPhD student

Markus GrabnerAssistant professor

Alexander BornikSenior researcher

Stefan HauswiesnerResearch assistant

Judith MuehlSenior researcher

Dieter SchmalstiegFull professor

Page 3: Multiple volumetric datasets

Demo

Page 4: Multiple volumetric datasets

Properties

Real-time frame-rates Many volumes Arbitrary polyhedral geometry CUDA implementation

A 20k polygons dragon with a 2563 brain volume

and nine 643 smoke clouds

Page 5: Multiple volumetric datasets

Outline

Volume rendering with ray casting Depth sorting for polyhedral datasets Results

Page 6: Multiple volumetric datasets

Outline

Volume rendering with ray casting Depth sorting for polyhedral datasets Results

Page 7: Multiple volumetric datasets

Volume scattering

Multiple scattering

Page 8: Multiple volumetric datasets

Volume scattering

Multiple scattering

Page 9: Multiple volumetric datasets

Volume rendering integral

K(t): absorption coefficient

Page 10: Multiple volumetric datasets

Volume rendering integral

K(t): absorption coefficient

Page 11: Multiple volumetric datasets

Volume rendering integral

K(t): absorption coefficient

Page 12: Multiple volumetric datasets

Volume rendering integral

K(t): absorption coefficient

Page 13: Multiple volumetric datasets

Ray casting

Page 14: Multiple volumetric datasets

Ray casting + empty space skipping

Page 15: Multiple volumetric datasets

Ray casting + empty space skipping

Page 16: Multiple volumetric datasets

Outline

Volume rendering with ray casting Depth sorting for polyhedral datasets Results

Page 17: Multiple volumetric datasets

Flow-chart

Page 18: Multiple volumetric datasets

Flow-chart

Triangle rasterization

Depth sorting

Integration

Page 19: Multiple volumetric datasets

Triangle rasterizationFor a >=0 For a < 0

Page 20: Multiple volumetric datasets

Triangle rasterization

y=0, n1(y)=1y=1, n1(y)=1y=2, n1(y)=1y=3, n1(y)=2

Use r0y=0, r(y)=0x0001y=1, r(y)=0x0010y=2, r(y)=0x0100y=3, r(y)=0x3000

For a >=0 For a < 0

Page 21: Multiple volumetric datasets

Triangle rasterization

y=0, n1(y)=1y=1, n1(y)=1y=2, n1(y)=1y=3, n1(y)=2

Use r0y=0, r(y)=0x0001y=1, r(y)=0x0010y=2, r(y)=0x0100y=3, r(y)=0x3000

For a >=0 For a < 0

Page 22: Multiple volumetric datasets

Depth sorting

Use 63 entries to keep depth order A entry contains

Z-value Triangle ID

Page 23: Multiple volumetric datasets

Depth sorting + evaluation

Use 63 entries to keep depth order A entry contains

Z-value Triangle ID

81 depth data Their result Ground truth Errors > 5%

Page 24: Multiple volumetric datasets

Outline

Volume rendering with ray casting Depth sorting for polyhedral datasets Results

Page 25: Multiple volumetric datasets

Results

Roessler: shader code, C5 generates too large codeBrecheisen: can not handle >4 volumes

Page 26: Multiple volumetric datasets

Results

Page 27: Multiple volumetric datasets

Q&A

Page 28: Multiple volumetric datasets

Thx.