Oral defense of Use of Silhouette Edges and

  • Slides: 52
Download presentation
Oral defense of Use of Silhouette Edges and Ambient Occlusion in Particle Visualization James

Oral defense of Use of Silhouette Edges and Ambient Occlusion in Particle Visualization James L. Bigler School of Computing August 16, 2004

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future Work

Phong Shaded

Phong Shaded

With Silhouettes

With Silhouettes

With Ambient Occlusion

With Ambient Occlusion

With Ambient Occlusion and Silhouettes

With Ambient Occlusion and Silhouettes

Why Particle Visualization? Macro Micro Crop by value

Why Particle Visualization? Macro Micro Crop by value

Material Point Method A B C D

Material Point Method A B C D

How are Particles Visualized?

How are Particles Visualized?

Local Lighting Models Good for local (micro) structure, bad for global (macro) structure.

Local Lighting Models Good for local (micro) structure, bad for global (macro) structure.

Shadows

Shadows

Global Illumination • Variation in ambient regions • Soft shadows • Interreflection of light

Global Illumination • Variation in ambient regions • Soft shadows • Interreflection of light between surfaces

Acceleration Schemes Greger et al. Ward et al.

Acceleration Schemes Greger et al. Ward et al.

Wyman Global Illumination for Interactive Isosurfaces • Wyman et al. cached global illumination values

Wyman Global Illumination for Interactive Isosurfaces • Wyman et al. cached global illumination values on a grid. Goal was to maintain interactivity during rendering.

Ambient Occlusion or Obscurances • Zhukov et al. Iones et al. • Precomputed •

Ambient Occlusion or Obscurances • Zhukov et al. Iones et al. • Precomputed • Stored as textures • Geometric property

Vicinity Shading • James Stewart • Similar to Wyman, precomputes and stores in a

Vicinity Shading • James Stewart • Similar to Wyman, precomputes and stores in a texture volume for later use in interactive applications.

Silhouette Edges • Gooch et al. (“Interactive technical illustration) – Open. GL based method

Silhouette Edges • Gooch et al. (“Interactive technical illustration) – Open. GL based method (polygonal based) – Environment map (angle between normal and eye) – Polygon by polygon software method • Object based methods not appropriate for particles

 • Silhouette Edges from Depth Buffer Usually black, emphasizes view dependent hull of

• Silhouette Edges from Depth Buffer Usually black, emphasizes view dependent hull of objects • Saito and Takahashi (“Comprehensible Rendering of 3 -D Shapes”) – Cache various aspects of the rendered image – Use depth and convolution to find silhouette edges

Particle Ray Tracing • Parker et al. show in “Interactive ray tracing” that large

Particle Ray Tracing • Parker et al. show in “Interactive ray tracing” that large numbers of particles can interactively be rendered using a parallel ray tracer.

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future Work

Ambient Occlusion

Ambient Occlusion

Texture Mapping • Common globe uv mapping

Texture Mapping • Common globe uv mapping

Texture Generation cosine distribution

Texture Generation cosine distribution

Texture Resolution • 16 x 16 provides a nice compromise – Fidelity – Memory

Texture Resolution • 16 x 16 provides a nice compromise – Fidelity – Memory – Computation time

Dilation

Dilation

How Does This Happen? Inside Outside Linear interpolation is the culprit!

How Does This Happen? Inside Outside Linear interpolation is the culprit!

How Is This Fixed? Inside Dilation based on value only would results in lightening

How Is This Fixed? Inside Dilation based on value only would results in lightening all dark areas. Outside

Inside or Outside Inside Outside Only the “inside” texels should be changed. A way

Inside or Outside Inside Outside Only the “inside” texels should be changed. A way to determine if a texel is “inside” is needed.

Inside Texel Detection

Inside Texel Detection

Proper Dilation Inside Now only “inside” texels are dilated. Outside

Proper Dilation Inside Now only “inside” texels are dilated. Outside

Dilation Performed

Dilation Performed

Dilation Performed

Dilation Performed

Render Phase • Texture and sphere data loaded in • Sphere ID used to

Render Phase • Texture and sphere data loaded in • Sphere ID used to lookup corresponding texture • Removing textures seams

Precomputation Time and Memory Bullet Fireball Foam 955, 000 952, 755 543, 088 7,

Precomputation Time and Memory Bullet Fireball Foam 955, 000 952, 755 543, 088 7, 157, 720 66 min. 261 min. 33 min. 12 hours 233 MB 232 MB 1, 747 MB • Using 20 R 14 K processors on an SGI Origin 3800 (muse. sci. utah. edu). Textures were 16 x 16 with 49 samples per texel.

Impact on Performance • 10% slower than direct lighting alone. • However, using only

Impact on Performance • 10% slower than direct lighting alone. • However, using only the ambient occlusion values can yield as good as or better performance than direct lighting alone. Direct lighting DL with Textures w/o DL Fireball 6 16. 43 f/s 14. 97 f/s 16. 75 f/s Fireball 11 10. 55 f/s 9. 59 f/s 10. 16 f/s Cylinder 6 13. 32 f/s 12. 15 f/s 13. 37 f/s Cylinder 22 11. 71 f/s 10. 94 f/s 11. 75 f/s Bullet 2 28. 17 f/s 25. 59 f/s 28. 79 f/s Bullet 12 28. 76 f/s 25. 71 f/s 28. 41 f/s

Direct Lighting Direct lighting with Ambient occlusion only ambient occlusion textures only Images Cylinder

Direct Lighting Direct lighting with Ambient occlusion only ambient occlusion textures only Images Cylinder 22 Bullet 6 Fireball 11

Impact on Performance • 10% slower than direct lighting alone. • However, using only

Impact on Performance • 10% slower than direct lighting alone. • However, using only the ambient occlusion values can yield as good as or better performance than direct lighting alone. Direct lighting DL with Textures w/o DL Fireball 6 16. 43 f/s 14. 97 f/s 16. 75 f/s Fireball 11 10. 55 f/s 9. 59 f/s 10. 16 f/s Cylinder 6 13. 32 f/s 12. 15 f/s 13. 37 f/s Cylinder 22 11. 71 f/s 10. 94 f/s 11. 75 f/s Bullet 2 28. 17 f/s 25. 59 f/s 28. 79 f/s Bullet 12 28. 76 f/s 25. 71 f/s 28. 41 f/s

Results • Movie 1 (show off some data sets) • Movie 2 (use with

Results • Movie 1 (show off some data sets) • Movie 2 (use with direct lighting and shadows)

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future Work

Silhouette Edges • Two options – Precomputation (object based) – Run time • Object

Silhouette Edges • Two options – Precomputation (object based) – Run time • Object based • Image based

Ingredients for Edges • • Image buffer Depth buffer Edge detection kernel Threshold for

Ingredients for Edges • • Image buffer Depth buffer Edge detection kernel Threshold for zero crossings Laplacian kernel -1 -1 8 -1 -1

Threshold Edge Response

Threshold Edge Response

Depth Buffer • Anatomy of a ray p(t) = a + tb t •

Depth Buffer • Anatomy of a ray p(t) = a + tb t • If a and |b| are the same for each pixel we can use the collection of t as a depth buffer.

Movies • Movie 1 (Varying the threshold and changing the view point and field

Movies • Movie 1 (Varying the threshold and changing the view point and field of view) • Movie 2 (Time varying data)

Performance A Without B D C E With A 17. 064 f/s 16. 056

Performance A Without B D C E With A 17. 064 f/s 16. 056 f/s B 2. 220 f/s 2. 179 f/s C 2. 220 f/s 2. 197 f/s D 1. 155 f/s 1. 162 f/s E 2. 683 f/s 2. 632 f/s

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future

Outline • • Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future Work

Ambient Occlusion • Shows macroscopic structure well • Renderings are still interactive • Precomputation

Ambient Occlusion • Shows macroscopic structure well • Renderings are still interactive • Precomputation time is reasonable, but still expensive. • Issues with Time-Dependent Visualization

Future Work for Ambient Occlusion • Compress the textures to save memory • Reduce

Future Work for Ambient Occlusion • Compress the textures to save memory • Reduce the texture generation time – Smaller textures – Better acceleration structures for ray intersections – Look for occlusions in a predefined radius, rather than the whole volume – View dependent texture generation • Update textures during cropping

Silhouette Edges • No precomputation time required • Image based method developed has little

Silhouette Edges • No precomputation time required • Image based method developed has little impact on rendering time • Intuitive user control for selection of how many silhouettes to view • Improved visualization of structure

Future Work for Silhouette Edges • Edges of silhouettes are aliased. • Gray levels

Future Work for Silhouette Edges • Edges of silhouettes are aliased. • Gray levels or varying thickness to indicate degrees of discontinuities in depth. • How to appropriately apply silhouette edges to multi-sampled renderings.

Thanks • • • Laura My family My committee: Chuck, Steve, & Pete The

Thanks • • • Laura My family My committee: Chuck, Steve, & Pete The folks at SCI DOE, C-SAFE Friends along the way

Questions?

Questions?