1 / 57

Direct Volume Rendering Joe Michael Kniss jmk@cs.utah cs.utah/~jmk

Direct Volume Rendering Joe Michael Kniss jmk@cs.utah.edu http://www.cs.utah.edu/~jmk Scientific Computing and Imaging Institute University of Utah. Outline. What is Volume Rendering? Shading models Current hardware methods Visualization 2001 presentation. What?. Volume Rendering.

Download Presentation

Direct Volume Rendering Joe Michael Kniss jmk@cs.utah cs.utah/~jmk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 • What is Volume Rendering? • Shading models • Current hardware methods • Visualization 2001 presentation

  3. What? Volume Rendering • Volume Rendering is a visualization/graphics technique which directly renders data using a reasonable approximation to a physical light transport model.

  4. Volume Rendering Overview • Data acquisition • Reconstruction • Sample & interpolate • Transfer function • Lighting • Blend/integrate Spiral CT Filtered back-projection Tri-linear Interp. 3D T.F. Light & shadow Back to Front

  5. Volume Rendering Overview Acquisition type Reconstruction • CT (X-ray) • MRI • Simulation • Inverse Radon • Inverse Fourier • None? Others: PET, SPECT, EEG, MEG, Geological, Atmospheric

  6. Overview Interpolation How do we recover a function that is at least C0 continuous?? ? Sampled Function Real Function

  7. Overview Interpolation • Estimate values between samples • Reconstruct continuous function box sinc C0 C00 Catmul-Rom linear C0 C1

  8. Overview Interpolation • Estimate values between samples • Reconstruct continuous function Best Bad box sinc Quality OK Good Catmul-Rom linear

  9. Overview Interpolation • Estimate values between samples • Reconstruct continuous function Hard Easiest box sinc Use Easy OK Catmul-Rom linear

  10. Overview Interpolation Laura Bush Sampled Function

  11. Overview Interpolation Box What is the value here?

  12. Overview Interpolation Box What is the value here?

  13. Overview Interpolation Box What is the value here?

  14. Overview Interpolation Box == Nearest Neighbor Reconstructed function

  15. Overview Interpolation Linear What is the value here?

  16. Overview Interpolation Linear What is the value here?

  17. Overview Interpolation Linear What is the value here?

  18. Overview Interpolation Linear == Connect the dots Reconstructed function

  19. Overview Interpolation Catmull-Rom == Rolling Hills Reconstructed function

  20. Overview Interpolation Sinc == Roller Coaster Reconstructed function But what about the ringing??

  21. Overview Interpolation

  22. Overview Interpolation In reality: Hmm… Bad box sinc Quality OK Better Catmul-Rom linear

  23. Interpolation • Bi-linear • Tri-linear What is the value here?

  24. Interpolation • Bi-linear = 3 linear interpolations, 2 axes • Tri-linear = 7 linear interpolations, 3 axes • 1st along x • 2nd along y • 1st along x

  25. Interpolation • Bi-linear = 3 linear interpolations, 2 axes • Tri-linear = 7 linear interpolations, 3 axes • 1st along x • 2nd along y • 1st along x • 2nd along y

  26. Interpolation • Bi-linear = 3 linear interpolations, 2 axes • Tri-linear = 7 linear interpolations, 3 axes • 1st along x • 2nd along y • 1st along x • 2nd along y • 3rd along z

  27. Transfer Function • Assign optical properties to data • Color • Opacity Transfer function

  28. Transfer Function • Assign optical properties to data • Color • Opacity x Transfer function

  29. Transfer Function • Assign optical properties to data • Color • Opacity T(x) Transfer function

  30. Overview Rendering Image plane Eye Projection Volume Data

  31. Overview Rendering Image plane r1 r0 Eye Volume Data Ray Casting But how do we get the final color??

  32. Overview Rendering r1 r0 Solution: Integrate T(x) r0 r1

  33. Overview Rendering r1 r0 Solution: Sum (Riemann) r0 r1

  34. Overview Rendering Emissive What about occlusion?? r0 r1

  35. Overview Rendering Absorption • Use alpha channel for opacity • Values should approach ZERO Exponential-1 curve r0 r1

  36. Overview Rendering r0 r1

  37. Overview Rendering Emission & Absorption r0 r1

  38. Overview Rendering Emission & Absorption r0 r1

  39. Overview Rendering Emission & Absorption = cout = ci + ai*cin r0 r1

  40. Overview Rendering Emission & Absorption Where did the light come from?? cout = ci + ai*ci-1 r0 r1

  41. Overview Lighting Image plane r1 r0 Eye Light

  42. Overview Lighting Sample ri Light The volume occludes some of the light

  43. Overview Lighting Sample ri (s) First scattering/ shadows l0

  44. Overview Lighting It still doesn’t look like a surface. Standard shading models need a surface normal

  45. Overview Lighting Solution: use the gradient as the normal 14 10 linear 3 5 linear derivative

  46. Overview Lighting Solution: use the gradient as the normal 14 dx = 3-10 = -7 dy = 5-14 = -9 10 linear 3 5 linear derivative

  47. Overview Lighting Solution: use the gradient as the normal 14 10 3 light 5 normal reflection eye

  48. Overview Lighting Diffuse 14 10 3 5 l n Color = C*(n l) C = object color

  49. Overview Lighting Diffuse + specular 14 10 3 5 l n r e Color = C*(n l) + LC*(r l)P LC = light color P = specular power

  50. Overview Lighting Diffuse + specular & shadow Color = [C*(n l) + LC*(r l)P ] * S S = shadow amount

More Related