Presentation is loading. Please wait.

Presentation is loading. Please wait.

High-Quality Volume Graphics on Consumer PC Hardware

Similar presentations


Presentation on theme: "High-Quality Volume Graphics on Consumer PC Hardware"— Presentation transcript:

1 High-Quality Volume Graphics on Consumer PC Hardware
Klaus Engel Joe Kniss Markus Hadwiger Christof Rezk-Salama

2 a f RGB Map data value f to color and opacity Shading, Compositing…
Human Tooth CT a(f) RGB(f) f Shading, Compositing…

3 Optical Properties Color (RGB) Emissive term ~ =

4 Optical Properties ~ Alpha (a.k.a. opacity or extinction) = =
Attenuates light based on density ~ = =

5 Optical Properties ~ Traditional Volume Rendering Equation
Emission & absorption ~

6 Optical Properties Scale alpha values based on sample rate (sr) 1.3 .7

7 Transfer Function Transform scalar data value into optical properties
Use optical properties to solve integral Very easy to implement Data is a texture Transfer function is a lookup Compute Riemann sum using “over operator”

8 Transfer Function Pre-classification Post-classification
Transfer function evaluated before interpolation, i.e. interpolation of colors not data Transfer function evaluated after interpolation, i.e. data is interpolated first

9 Implementation Two choices: Texture Lookup Table
glColorTable* Varies depending on hardware, may require a special texture data format Fast Dependent Texture Read Very hardware dependent Becoming more general, see OpenGl 2.0 Slower but more flexible…

10 Transfer Function Problem: f(x,y,z) No shape or depth queues
No shading. color alpha f(x,y,z)

11 Transfer Function Solution: Faux Shading f(x,y,z)
Ramp color to black with alpha Silhouette edges color alpha f(x,y,z)

12 Transfer Function Better: Surface Shading Slower, requires normal
More flexible

13 Transfer Function Better: Surface Shading Slower, requires normal
More flexible Faux shading enhances

14 Transfer Function Problem: Can’t surface shade homogeneous regions
Need good gradients Sensitive to noise

15 Transfer Function Solution: Surface scalar (s)
Only shade high gradient magnitudes: Or, add s to TF Interpolate…

16 Transfer Function Problem: How did the light get there?
No attenuation through volume Not realistic!

17 Transfer Function Solution: Shadows Better depth queues
Dramatic effects

18 Shadows Image plane r1 r0 Eye Light

19 Shadows Sample ri (s) Image plane r1 r0 IL l0 Eye ~

20 Shadows Implementation: 2 passes
Attenuate from the light source Render from the eye Store light attenuation in second volume Multiply color by attenuation from shadow volume

21 Shadows Disadvantages: Difficult to build shadow volume on the card
Slow to build off the card Additional volume required Attenuation leakage Blurry shadow boundaries Low resolution shadows!

22 Shadows Alternative: Incremental shadows
Generate shadows one slice at a time Only use a 2D buffer Image space shadow computation All on card Half angle slicing

23 Slicing from light’s point of view
Shadows Eye Slicing from light’s point of view

24 Slicing from eye’s point of view
Shadows Eye Slicing from eye’s point of view

25 Half angle slicing: good from either point of view
Incremental Shadows Eye Half angle slicing: good from either point of view

26 Similar aspect ratio from both points of view
Incremental Shadows Similar aspect ratio from both points of view

27 Incremental Shadows * Slice pass 1

28 Incremental Shadows Slice pass 2

29 Incremental Shadows Advantages: Disadvantages: Screen space shadows
No leakage Use render to texture to optimize Shades perturbed volumes Simple implementation Disadvantages: Aliasing at sharp opacity changes Fix with slightly larger light buffer

30 Shadows Problem: Shadows still too dark
Direct attenuation is inadequate Need to handle higher order light transport effects Shadows

31 Shadows Solution: Translucency One consequence of light scattering
Smoke, clouds, skin, wax…. Shadows Translucent

32 Translucency Wax: Real Shadows

33 Translucency Wax: Real Shadows Translucent

34 Translucency Add indirect attenuation
Direct attenuation, same as shadows Blurred indirect attenuation, includes an indirect alpha

35 Direct (Id) and indirect (Ii) attenuation
Translucency Direct (Id) and indirect (Ii) attenuation

36 Translucency How? Same as shadows (two light buffers)
Sample previous light buffer multiple times for blur Ping-pong blending Store indirect in a color component Sum direct and indirect in fragment shader for the eye pass Only use direct attn. for eye pass

37 Translucency Problem: Still doesn’t look right Real Shadows
Translucent

38 Translucency Solution: add spectral attenuation Real
Translucent w/spectral attn.

39 Translucency Spectral attenuation:
Attenuate some colors more than others Spectral indirect attn. is simplest Need separate alpha for RGB Store in RGB components of light buffer

40 Translucency Indirect alpha vs. transport color Alpha: Transport:
Transport color is easier to specify

41 Optical Properties Recap: Reflective color/Emission (RGB)
Direct attenuation/alpha (A) Surface scalar (s) Indirect attenuation (Ar,Ag,Ab) Others? Scattering, absorption, phase function, density, emission, index of refraction…

42 Transfer function Specification Simple, easy Expressive Guided

43 Transfer function Typical: 1D linear ramps f(x,y,z)
Independent R,G,B,A control Difficult Trial and error alpha f(x,y,z)

44 Transfer function Problem: f(x,y,z) RGB = bad color space for humans
No concept of features alpha f(x,y,z)

45 Transfer function Better: set color at control points f(x,y,z)
Use HSV or HLS color spaces Simplified interface Still no guidance alpha f(x,y,z)

46 Transfer function Guided techniques: Design Galleries Thumbnails
Semi-Automatic Dual-domain interaction

47 Design Galleries Treat TF and rendering as a high dimensional parameter space Stochastically sample space Cluster images based on fitness Select best looking image

48 Design Galleries

49 Design Galleries Computationally expensive Difficult to implement
Not guided by dataset specifics Only handles 1D transfer functions

50 Thumbnails Visual history of changes Show important regions of TF
Show effects of potential changes

51 Thumbnails spreadsheets

52 Thumbnails Parameterization

53 Semi-automatic Volumetric edge detection
Use first and second derivatives Build histogram volumes Use simplified interface Generate 1D or 2D TFs

54 Semi-automatic Position of boundary center

55 Semi-automatic

56 Semi-automatic Identifies data ranges of boundaries
Still requires hand-editing Not really an interactive process Demonstrates the value of histograms

57 Transfer function What is a 2D transfer function
Multiple values per sample point 2D lookup table Each value is an axis of TF Better specificity More complicated to use

58 Transfer function RGB( ) Generalize… ( )

59 Transfer function ( , ) RGB( , ) Modify…

60 Transfer function ( , ) RGB( , ) Modify…

61 - + Transfer function RGB ( , , ) Second directional derivative
measured with Hessian -

62 Transfer function + RGB ( , , ) Done -

63 Transfer function Multi-dimensional TFs
Data value, gradient magnitude, second derivative Multivariate, i.e. multiple values Implement as dependent texture read, 1D, 2D, 3D texture for TF

64 Transfer function Multiple scans Color data Multiple variables
MRI-T1,T2,PD Cryosection Simulation

65 Transfer function Problem: How do we interact with a higher dimensional TF? Larger parameter space Unintuitive feature identification Greater demands on user interface

66 Transfer function Solution: It is a process!! Data set guidance
Improved classification Intuitive feature identification

67 1 “Default” transfer function Initial

68 1 Probing Initial 2 Explore

69 1 Initial 2 Explore 3 Specify Transfer function widget Manual
Dual-domain interaction Initial 2 Explore 3 Specify

70 1 Initial 2 Explore 4 Refine 3 Specify
Use widgets to tune the transfer function Initial 2 Explore 4 Refine 3 Specify

71 Interactive 1 Initial 2 Explore 4 Refine 3 Specify
Understanding from immediate feedback Initial 2 Explore 4 Refine 3 Specify Interactive

72 Classification Discrete features Basic functions
Direct manipulation widgets V3 slider(s) V2 V1

73 Guidance Histograms Blue Red Green

74 Guidance Probing Identify features in transfer function Chapel Hill CT

75 Guidance Dual-domain interaction Classify features by pointing at them

76 Refinement Manipulate well defined control points

77 Transfer function Advantages: Better feature discrimination

78 Technique Animated transfer function


Download ppt "High-Quality Volume Graphics on Consumer PC Hardware"

Similar presentations


Ads by Google