Presentation is loading. Please wait.

Presentation is loading. Please wait.

Siggraph/Eurographics Workshop on Graphics Hardware 2001

Similar presentations

Presentation on theme: "Siggraph/Eurographics Workshop on Graphics Hardware 2001"— Presentation transcript:

1 Siggraph/Eurographics Workshop on Graphics Hardware 2001
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive Systems Group University of Stuttgart, Germany Siggraph/Eurographics Workshop on Graphics Hardware 2001

2 Volume Rendering Quality Improvement
Higher sampling rates: additional tri-linearly interpolated slices 2D textures: render intermediate slices using multi-texture approach (Rezk-Salama,Engel et al., GH2000) - 3D textures: render additional slice polygons But: decreases rendering speed due to additional rasterization many additional slices required even for low-resolution volumes non-linear transfer functions: not sufficient to sample volume with the Nyquist frequency of scalar data

3 Volume Classification
transfer functions Pre- classification interpolation classification interpolation voxels classification Post- classification

4 Pre-Integrated Volume Rendering
The approach: texture-based (2D/3D) ray-segments computed in a pre-processing step pre-computed ray-segment lookup (dependent texture) small number of slices => fast Especially suited for: low resolution volume data non-linear transfer functions Capable of: high-quality rendering direct volume rendering, volume shading, isosurfaces

5 Pre-integrated Volume Rendering - Idea
slice-by-slice slab-by-slab sf sb front slice back project slice texture polygon sb sf fetch integral from dependent texture pre-integrate all possible combinations hardware-accelerated implementation on NVidia GeForce3 chip

Pre-integrated Volume Rendering - Texel Fetch sf stage 0 TEXTURE_2D (s0,t0) RGBA result sb stage 1 TEXTURE_2D (s1,t1) RGBA result RGB0 (s3,t3,r3)  (1,0,0) stage 3 DOT_PRODUCT_ TEXTURE2D_NV (1,0,0) • RGB0=sf front slice back slice RGB1 (s2,t2,r2)  (1,0,0) stage 2 DOT_PRODUCT_NV (1,0,0) • RGB1=sb sb sf RGBA result on to register combiners

7 Results – Direct Volume Rendering
128 slices pre- classification 128 slices post- classification 284 slices post- classification 128 slices pre-integrated

8 Isosurfaces Isosurfaces: particular dependent texture 1. 2. sb 4. 3.
front slice back 1. 1 front slice back 2. 2 sb front slice back 4. 4 96 front slice back 3. 3 3a 32 sf 32 96

9 Isosurfaces – Gradient Interpolation
g = IP gb + (1-IP) gf interpolation weight: IP = (siso – sf)/(sb – sf) store gradient with scalar data in RGBA texture store IP in dependent texture implement interpolation in reg. combiners sb gb gf g front slice back slice

10 Pre-integrated Volume Rendering – Register Combiners
Combiner 0+1: rebuild gradients (front + back) R B G A R B G A s gy gz gx gx gy gz s Combiner 2: interpolate gradients IP = (siso – sf)/(sb – sf) g = IP gb + (1-IP) gf Combiner 3-7: shading (isosurface or volume) I = Ia + Id ( n . l ) + Is ( n . h )p pmax = 256


12 Results – Direct Volume Rendering, Random TF

13 Results - Isosurfaces

Download ppt "Siggraph/Eurographics Workshop on Graphics Hardware 2001"

Similar presentations

Ads by Google