+ All Categories
Home > Documents > High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel,...

High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel,...

Date post: 16-Dec-2015
Category:
Upload: archibald-dixon
View: 222 times
Download: 0 times
Share this document with a friend
Popular Tags:
13
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Er Visualization and Interactive Systems Group University of Stuttgart, Germany ggraph/Eurographics Workshop on Graphics Hardware 2
Transcript

High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel

Shading

High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel

Shading

Klaus Engel, Martin Kraus, Thomas ErtlVisualization and Interactive Systems GroupUniversity of Stuttgart, Germany

Siggraph/Eurographics Workshop on Graphics Hardware 2001

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

Volume Classification

voxels

Post-classification

interpolation

interpolation

Pre-classification

classification

transfer functions

classification

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

Pre-integrated Volume Rendering - Ideaslice-by-slice slab-by-slab

sb

sfsf

sb

fetch integral fromdependent texture

sbsf

pre-integrate all possible combinations

hardware-accelerated implementation

on NVidia GeForce3 chip

sf sb

front slice

back slice

project slice

texture polygon

Pre-integrated Volume Rendering - Texel Fetch

RGB1

(s2,t2,r2) (1,0,0)

stage 2DOT_PRODUCT_NV

(1,0,0) • RGB1=sb

stage 2DOT_PRODUCT_NV

(1,0,0) • RGB1=sb

RGB0

(s3,t3,r3) (1,0,0)

stage 3DOT_PRODUCT_TEXTURE2D_NV

(1,0,0) • RGB0=sf

stage 3DOT_PRODUCT_TEXTURE2D_NV

(1,0,0) • RGB0=sf

RGBA result

on to register combiners

front slice

front slice

back slice

back slice

sbsb

stage 1TEXTURE_2D

stage 1TEXTURE_2D

(s1,t1)RGBA result

sfsf

stage 0TEXTURE_2D

stage 0TEXTURE_2D

(s0,t0)RGBA result

sb

sf

Results – Direct Volume Rendering

128 slicespre-

classification

128 slicespre-integrated

284 slicespost-

classification

128 slicespost-

classification

IsosurfacesIsosurfaces:

particular dependent texture

32 96 sf

sb

32

96

front slice

back slice

1.

1

front slice

back slice

4.

4front slice

back slice

2.

2

front slice

back slice

3.3

3a

3a

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

sbsb

front slice

front slice

back slice

back slice

gfgbg

Pre-integrated Volume Rendering – Register Combiners

• Combiner 0+1: rebuild gradients (front + back)

gy gz gx

R BG A R BG A

• Combiner 2: interpolate gradients

gx gy gz

I = Ia + Id ( n . l ) + Is ( n . h )p

• Combiner 3-7: shading (isosurface or volume)

pmax = 256

IP = (siso – sf)/(sb – sf) g = IP gb + (1-IP) gf

s s

Results – Direct Volume Rendering, Random TF

Results - Isosurfaces


Recommended