Presentation is loading. Please wait.

Presentation is loading. Please wait.

Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah.

Similar presentations


Presentation on theme: "Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah."— Presentation transcript:

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)


Download ppt "Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah."

Similar presentations


Ads by Google