Download presentation
Presentation is loading. Please wait.
1
Direct Volume Rendering Joe Michael Kniss jmk@cs.utah.edu http://www.cs.utah.edu/~jmk Scientific Computing and Imaging Institute University of Utah
2
Outline 1. What is Volume Rendering? 2. Shading models 3. Current hardware methods 4.Visualization 2001 presentation
3
Volume Rendering Volume Rendering is a visualization/graphics technique which directly renders data using a reasonable approximation to a physical light transport model. What?
4
Overview Data acquisition Reconstruction Sample & interpolate Transfer function Lighting Blend/integrate Volume Rendering Spiral CT Filtered back-projection Tri-linear Interp. 3D T.F. Light & shadow Back to Front
5
Overview Volume Rendering Acquisition typeReconstruction CT (X-ray) MRI Simulation Inverse Radon Inverse Fourier None? Others: PET, SPECT, EEG, MEG, Geological, Atmospheric
6
Interpolation Overview Sampled Function How do we recover a function that is at least C 0 continuous?? Real Function ?
7
Interpolation Estimate values between samples Reconstruct continuous function Overview box linear sinc Catmul- Rom C0C0 C0C0 C1C1 C 00
8
Interpolation Estimate values between samples Reconstruct continuous function Overview box linear sinc Catmul- Rom Bad OKGood Best Quality
9
Interpolation Estimate values between samples Reconstruct continuous function Overview box linear sinc Catmul- Rom Easiest EasyOK Hard Use
10
Interpolation Overview Sampled Function Laura Bush
11
Interpolation Overview Box What is the value here?
12
Interpolation Overview Box What is the value here?
13
Interpolation Overview Box What is the value here?
14
Interpolation Overview Box == Nearest Neighbor Reconstructed function
15
Interpolation Overview Linear What is the value here?
16
Interpolation Overview Linear What is the value here?
17
Interpolation Overview Linear What is the value here?
18
Interpolation Overview Linear == Connect the dots Reconstructed function
19
Interpolation Overview Catmull-Rom == Rolling Hills Reconstructed function
20
Interpolation Overview Sinc == Roller Coaster Reconstructed function But what about the ringing??
21
Interpolation Overview
22
Interpolation Overview box linear sinc Catmul- Rom Bad OKBetter Hmm… Quality In reality:
23
Interpolation Bi-linear Tri-linear What is the value here?
24
Bi-linear = 3 linear interpolations, 2 axes Tri-linear = 7 linear interpolations, 3 axes Interpolation 1 st along x 2 nd along y 1 st along x
25
Bi-linear = 3 linear interpolations, 2 axes Tri-linear = 7 linear interpolations, 3 axes Interpolation 1 st along x 2 nd along y 1 st along x 2 nd along y
26
Bi-linear = 3 linear interpolations, 2 axes Tri-linear = 7 linear interpolations, 3 axes Interpolation 1 st along x 2 nd along y 1 st along x 2 nd along y 3 rd along z
27
Transfer Function Assign optical properties to data –Color –Opacity Transfer function
28
Transfer Function Assign optical properties to data –Color –Opacity Transfer function x
29
Transfer Function Assign optical properties to data –Color –Opacity Transfer function T(x)
30
Rendering Overview Volume Data Eye Image plane Projection
31
Rendering Overview Volume Data Eye Image plane Ray Casting But how do we get the final color?? r0r0 r1r1
32
Rendering Overview Solution: Integrate r0r0 r1r1 r0r0 r1r1 T(x)
33
Rendering Overview Solution: Sum (Riemann) r0r0 r1r1 r0r0 r1r1
34
Rendering Overview r0r0 r1r1 Emissive What about occlusion??
35
Rendering Overview r0r0 r1r1 Absorption Use alpha channel for opacity Values should approach ZERO Exponential -1 curve
36
Rendering Overview r0r0 r1r1
37
Rendering Overview r0r0 r1r1 Emission & Absorption
38
Rendering Overview Emission & Absorption r0r0 r1r1
39
Rendering Overview Emission & Absorption r0r0 r1r1 c out = c i + a i *c in =
40
Rendering Overview Emission & Absorption r0r0 r1r1 c out = c i + a i *c i-1 Where did the light come from??
41
Lighting Overview Eye Image plane r0r0 r1r1 Light
42
Lighting Overview Light Sample r i The volume occludes some of the light
43
Lighting Overview Sample r i (s) First scattering/ shadows l0l0
44
Lighting Overview It still doesn’t look like a surface. Standard shading models need a surface normal
45
Lighting Overview Solution: use the gradient as the normal linear linear derivative 14 10 5 3
46
Lighting Overview Solution: use the gradient as the normal linear linear derivative 14 10 5 3 dx = 3-10 = -7 dy = 5-14 = -9
47
Lighting Overview Solution: use the gradient as the normal 14 10 5 3 normal light eye reflection
48
Lighting Overview Diffuse 14 10 5 3 n l Color = C*(n l) C = object color
49
Lighting Overview Diffuse + specular 14 10 5 3 n l e r Color = C*(n l) + LC*(r l) P LC = light color P = specular power
50
Lighting Overview Diffuse + specular & shadow Color = [C*(n l) + LC*(r l) P ] * S S = shadow amount
51
Lighting Overview Diffuse + specular & shadow + Ambient Color = [C*(n l) + LC*(r l) P ] * S + C*A A = Ambient contribution
52
Rendering Overview Volume Data Eye Image plane Ray Casting r0r0 r1r1 Cast a ray through each pixel Intersect with volume Numerically integrate & return color
53
Rendering Hardware Volume Data Eye Image plane Graphics Hardware Polygons – Proxy geometry Textures – Data & interpolation Blending operations – Numerical integration Slices
54
Hardware Slices View direction 1 slice 5 slices 20 slices 45 slices 85 slices 170 slices
55
Hardware Data texture Grad texture Shadow texture T.F. texture Shade texture Texture combiner Color & opacity Data texture Polygon slicing through texture
56
Hardware Slices Frame buffer Blend each slice with previously rendered Projection
57
References Nelson Max, Optical Models for Direct Volume Rendering, IEEE Visualization and Computer Graphics (v1 #2 June 1995) Mark Levoy, Display of Surfaces from Volume Data, IEEE Computer Graphics and Applications (v8 #3 May 1988) Kenneth R. Castleman, Digital Image Processing, Prentice Hall (c1996 ISBN:0- 13-211467-4)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.