520 likes | 556 Views
Use of Silhouette Edges and Ambient Occlusion in Particle Visualization. Oral defense of. James L. Bigler School of Computing August 16, 2004. Outline. Motivation and Introduction Ambient Occlusion Shading Silhouette Edges Conclusions and Future Work. Phong Shaded. With Silhouettes.
E N D
Use of Silhouette Edges and Ambient Occlusion in Particle Visualization Oral defense of James L. Bigler School of Computing August 16, 2004
Outline • Motivation and Introduction • Ambient Occlusion Shading • Silhouette Edges • Conclusions and Future Work
Why Particle Visualization? Macro Micro Crop by value
Material Point Method A B C D
Local Lighting Models Good for local (micro) structure, bad for global (macro) structure.
Global Illumination • Variation in ambient regions • Soft shadows • Interreflection of light between surfaces
Acceleration Schemes Greger et al. Ward et al.
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 • Gooch et al. (“Interactive technical illustration) • OpenGL 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 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.
Outline • Motivation and Introduction • Ambient Occlusion Shading • Silhouette Edges • Conclusions and Future Work
Texture Mapping • Common globe uv mapping
Texture Generation cosine distribution
Texture Resolution • 16x16 provides a nice compromise • Fidelity • Memory • Computation time
How Does This Happen? Outside Inside Linear interpolation is the culprit!
How Is This Fixed? Outside Inside Dilation based on value only would results in lightening all dark areas.
Inside or Outside Outside Inside Only the “inside” texels should be changed. A way to determine if a texel is “inside” is needed.
Proper Dilation Outside Inside Now only “inside” texels are dilated.
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 • Using 20 R14K processors on an SGI Origin 3800 (muse.sci.utah.edu). Textures were 16x16 with 49 samples per texel. 543,088 33 min. 132 MB 955,000 66 min. 233 MB 952,755 261 min. 232 MB 7,157,720 12 hours 1,747 MB
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 only Images Direct lighting with ambient occlusion textures Ambient occlusion textures only Cylinder 22 Bullet 6 Fireball 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.
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 Work
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 Laplacian kernel
Depth Buffer • 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. p(t) = a + tb t
Movies • Movie 1 (Varying the threshold and changing the view point and field of view) • Movie 2 (Time varying data)
Performance A B C D E
Outline • Motivation and Introduction • Ambient Occlusion Shading • Silhouette Edges • Conclusions and Future Work
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 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 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 or varying thickness to indicate degrees of discontinuities in depth. • How to appropriately apply silhouette edges to multi-sampled renderings.