Download presentation
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.