Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs SIGGRAPH ASIA 2009 2010/03/31 ked
Dec 14, 2014
Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs
SIGGRAPH ASIA 2009
2010/03/31
ked
Authors
Bernhard KainzPhD student
Markus GrabnerAssistant professor
Alexander BornikSenior researcher
Stefan HauswiesnerResearch assistant
Judith MuehlSenior researcher
Dieter SchmalstiegFull professor
Demo
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
Outline
Volume rendering with ray casting Depth sorting for polyhedral datasets Results
Outline
Volume rendering with ray casting Depth sorting for polyhedral datasets Results
Volume scattering
Multiple scattering
Volume scattering
Multiple scattering
Volume rendering integral
K(t): absorption coefficient
Volume rendering integral
K(t): absorption coefficient
Volume rendering integral
K(t): absorption coefficient
Volume rendering integral
K(t): absorption coefficient
Ray casting
Ray casting + empty space skipping
Ray casting + empty space skipping
Outline
Volume rendering with ray casting Depth sorting for polyhedral datasets Results
Flow-chart
Flow-chart
Triangle rasterization
Depth sorting
Integration
Triangle rasterizationFor a >=0 For a < 0
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
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
Depth sorting
Use 63 entries to keep depth order A entry contains
Z-value Triangle ID
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%
Outline
Volume rendering with ray casting Depth sorting for polyhedral datasets Results
Results
Roessler: shader code, C5 generates too large codeBrecheisen: can not handle >4 volumes
Results
Q&A
Thx.