Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang...
-
Upload
easter-carroll -
Category
Documents
-
view
213 -
download
1
Transcript of Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang...
Smart Hardware-Accelerated Volume
Rendering
Stefan Roettger
Stefan Guthe
Daniel Weiskopf
Wolfgang Strasser
Thomas Ertl
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
2
Overview
• Current state of the art in direct volume rendering
• What can be improved?
• Rendering of segmented data
• Hardware-accelerated raycasting
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
3
Direct Volume Rendering
• 3D slicing approach (Akeley ‘87)
• Pre-integration (Max VolVis ‘90, Roettger VIS ‘00, Engel HWW ‘01)
• Pre-integrated material properties (Meissner GI ‘02)
• Hardware-accelerated pre-integration (Roettger VolVis ‘02, Guthe HWW ‘02)
• Multi-Dimensional TF (Kniss VIS ‘01)
• Volume clipping (Weiskopf VIS ‘02)
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
4
What is missing?• From a medical point of view:
• Pre-integration is difficult to apply to segmented medical data
• Pre-integration quality is still not good enough
• 8 bit frame buffer produces artifacts on consumer graphics hardware
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
5
Pre-Integration• Ray integral depends on three variables: Sf,
Sb, and l, where l is assumed to be constant
• Pre-compute a table for all combinations of Sf and Sb and store it in a 2D dependent texture
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
6
Volume Clipping• Use additional scalar clip volume C(x,y,z)
• Iso surface for C=0.5 defines clip geometry
• Adjust Sf, Sb, and l according to clip volume (naive approach: set l=0)
• for the case Cf<0.5<Cb
• w = |Cb-0.5|/|Cb-Cf|
• S’f = (1-w)*Sb+w*Sf
• l’= l*w ’ ≈ *w
C=0.5
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
7Pre-Integration & Segmentation
• Segmentation with two materials is easy:
• Define second transfer function TF2
• In the pixel shader:
• Make a lookup in TF1
for the blue area
• Blend with the lookup in TF2
for the grey area
C=0.5
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
8
Quality Comparison
naiveclipping
correctadjust-ment
clippedBonsai
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
9
Undersampling Quality
Slicingartifacts
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
10
Undersampling Quality
Slicingartifacts
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
11
Sampling Quality
Slicingartifacts
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
12
Sampling Quality
Interpolationartifacts
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
13
Supersampling Quality
Still minorinterpolationartifacts
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
14
Supersampling Quality
Almostcorrect
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
15
Drawback of Pre-Integration• Linear interpolation assumed in slab
• But in fact the interpolation is trilinear
• Inside the slab one may cross a voxel boundary
• Lighting is also a non-linear operation
• Conclusion: For superior quality we need at least 2-times, better 4-times oversampling!
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
16
Ray Casting• Supersampling is slow, but
fortunately we do not need to supersample everywhere
• Define importance volume which tells where to sample more precisely
• Depends on 2nd deriv. of scalar volume and 1st deriv. of TF
• Perform adaptive ray casting on the graphics hardware
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
17Hardware-Accelerated Ray
Casting• Implemented on the ATI Radeon 9700 with
multiple floating point render targets:
• Need to process all pixels at once
• Cannot exploit ray coherence
• Early ray termination by early Z-test
• Exploit hierarchical Z-buffer compression
• Adaptive sampling includes space leaping
• Stop if all pixels are terminated (asynchronous occlusion query)
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
18Hardware-Accelerated Ray
Casting• Store ray parameter to determine actual
position
• Complete PS 2.0 code given in the paper
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
19
Quality Comparison4-times oversampling
8 bit frame bufferHW ray casting
full floating point
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
20
Performance
• Same performance as 4 times over-sampling with alpha Direct 9 drivers (about 2 seconds per frame)
• But already much better quality
• With latest drivers we achieve 2-5 frames per second due to greatly improved performance of occlusion query (12 ms vs. 100 ms)
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
21
ANFSCD: The Bonsai
Note: Raw data of all three Bonsai’
is available on my homepage
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
22
Conclusions• We have shown how to combine volume
clipping/segmentation with pre-integrated volume rendering
• With respect to quality HW ray casting is superior to the traditional slicing approach and with latest drivers is also faster
• By reducing the number of adaptive samples frame rates can be pushed even higher while maintaining good quality
• Now switching to the Live Demo
Smart Hardware-Accelerated Volume Rendering VisSym ‘03 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Grenoble
23
Thanks for your attention!
Fin