Download presentation
Published byArchibald Dixon Modified over 9 years ago
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
6
DOT_PRODUCT_ TEXTURE2D_NV
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.