Visualization Enhancements of Dense Particle Data Sets James L. Bigler School of Computing University of Utah November 8, 2004
Outline Motivation and Introduction Ambient Occlusion Shading Silhouette Edges
Phong Shaded Data courtesy: Gerald T. Seidler University of Washington
With Silhouettes
With Ambient Occlusion
Silhouettes With Ambient Occlusion and Silhouettes
Why Particle Visualization? MacroMicroCrop by value
How are Particles Visualized?
Local Lighting Models Good for local (micro) structure, bad for global (macro) structure.
Shadows
Global Illumination Variation in ambient regions Soft shadows Interreflection of light between surfaces
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 Stored as textures Geometric property
Vicinity Shading James Stewart Similar to Wyman, precomputes and stores in a texture volume for later use in interactive applications.
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 numbers of particles can interactively be rendered using a parallel ray tracer.
Ambient Occlusion
Texture Resolution 16x16 provides a nice compromise –Fidelity –Memory –Computation time
Precomputation Time and Memory Using 20 R14K processors on an SGI Origin 3800 (muse.sci.utah.edu). Textures were 16x16 with 49 samples per texel. 955, min. 233 MB 952, min. 232 MB 543, min. 132 MB 7,157, hours 1,747 MB Fireball Bullet Foam
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 lightingDL with TexturesTextures w/o DL Fireball f/s14.97 f/s16.75 f/s Fireball f/s9.59 f/s10.16 f/s Cylinder f/s12.15 f/s13.37 f/s Cylinder f/s10.94 f/s11.75 f/s Bullet f/s25.59 f/s28.79 f/s Bullet f/s25.71 f/s28.41 f/s
Images Direct Lighting only Direct lighting with ambient occlusion textures Ambient occlusion textures only Cylinder 22Bullet 6Fireball 11
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 lightingDL with TexturesTextures w/o DL Fireball f/s14.97 f/s16.75 f/s Fireball f/s9.59 f/s10.16 f/s Cylinder f/s12.15 f/s13.37 f/s Cylinder f/s10.94 f/s11.75 f/s Bullet f/s25.59 f/s28.79 f/s Bullet f/s25.71 f/s28.41 f/s
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 zero crossings 8 Laplacian kernel
Threshold Edge Response
Anatomy of a ray If a and |b| are the same for each pixel we can use the collection of t as a depth buffer. Depth Buffer p(t) = a + tb t
Performance WithoutWith A f/s f/s B2.220 f/s2.179 f/s C2.220 f/s2.197 f/s D1.155 f/s1.162 f/s E2.683 f/s2.632 f/s A BC DE
Movie
Questions?