Smart Hardware Accelerated Volume Rendering Stefan Roettger Stefan

  • Slides: 23
Download presentation
Smart Hardware. Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser

Smart Hardware. Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser

2 Overview • Current state of the art in direct volume rendering • What

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 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

3 Direct Volume Rendering • 3 D slicing approach (Akeley ‘ 87) • Pre-integration

3 Direct Volume Rendering • 3 D slicing approach (Akeley ‘ 87) • Pre-integration (Max Vol. Vis ‘ 90, Roettger VIS ‘ 00, Engel HWW ‘ 01) • Pre-integrated material properties (Meissner GI ‘ 02) • Hardware-accelerated pre-integration (Roettger Vol. Vis ‘ 02, Guthe HWW ‘ 02) • Multi-Dimensional TF (Kniss VIS ‘ 01) • Volume clipping (Weiskopf VIS ‘ 02) Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

4 What is missing? • From a medical point of view: • Pre-integration is

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 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

5 Pre-Integration • Ray integral depends on three variables: Sf, Sb, and l, where

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 2 D dependent texture Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

6 Volume Clipping • Use additional scalar clip volume C(x, y, z) • Iso

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) C=0. 5 • for the case Cf<0. 5<Cb • w = |Cb-0. 5|/|Cb-Cf| • S’f = (1 -w)*Sb+w*Sf • l’= l*w ’ ≈ *w Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

7 Pre-Integration & Segmentation • Segmentation with two materials is easy: • Define second

7 Pre-Integration & Segmentation • Segmentation with two materials is easy: • Define second transfer function TF 2 • In the pixel shader: • Make a lookup in TF 1 C=0. 5 for the blue area • Blend with the lookup in TF 2 for the grey area Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

8 Quality Comparison naive clipping clipped Bonsai correct adjustment Smart Hardware-Accelerated Volume Rendering Stefan

8 Quality Comparison naive clipping clipped Bonsai correct adjustment Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

9 Undersampling Quality Slicing artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen

9 Undersampling Quality Slicing artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

10 Undersampling Quality Slicing artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen

10 Undersampling Quality Slicing artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

11 Sampling Quality Slicing artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen

11 Sampling Quality Slicing artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

12 Sampling Quality Interpolation artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen

12 Sampling Quality Interpolation artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

13 Supersampling Quality Still minor interpolation artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University

13 Supersampling Quality Still minor interpolation artifacts Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

14 Supersampling Quality Almost correct Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen

14 Supersampling Quality Almost correct Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

15 Drawback of Pre-Integration • Linear interpolation assumed in slab • But in fact

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 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

16 Ray Casting • Supersampling is slow, but fortunately we do not need to

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 2 nd deriv. of scalar volume and 1 st deriv. of TF • Perform adaptive ray casting on the graphics hardware Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

17 Hardware-Accelerated Ray Casting • Implemented on the ATI Radeon 9700 with multiple floating

17 Hardware-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 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

18 Hardware-Accelerated Ray Casting • Store ray parameter to determine actual position • Complete

18 Hardware-Accelerated Ray Casting • Store ray parameter to determine actual position • Complete PS 2. 0 code given in the paper Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

19 Quality Comparison 4 -times oversampling 8 bit frame buffer HW ray casting full

19 Quality Comparison 4 -times oversampling 8 bit frame buffer HW ray casting full floating point Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

20 Performance • Same performance as 4 times over-sampling with alpha Direct 9 drivers

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 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

21 ANFSCD: The Bonsai Note: Raw data of all three Bonsai’ is available on

21 ANFSCD: The Bonsai Note: Raw data of all three Bonsai’ is available on my homepage Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

22 Conclusions • We have shown how to combine volume clipping/segmentation with pre-integrated volume

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 Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble

23 Fin Thanks for your attention! Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of

23 Fin Thanks for your attention! Smart Hardware-Accelerated Volume Rendering Stefan Roettger, University of Erlangen - Stefan Guthe, University of Tübingen Vis. Sym ‘ 03 Grenoble