370 likes | 379 Views
This paper explores the feasibility of using a scalable shared-memory ray tracer for remote visualization in aircraft quality analysis. The application allows collaboration between quality analysts and liaison engineers to identify and solve problems efficiently using 3D visualization tools.
E N D
An Application of Scalable Massive Model Interaction using Shared-Memory Systems Abe Stephens Solomon Boulos, James Bigler, Ingo Wald, Steven Parker EGPGV 2006. Braga Portugal.Thursday May 11, 2006 10:45 - 11:10
Software Architecture & Technology Application • Feasibility Demonstration: • Task adopted from real process. • Rendering one component. • System demonstrated at SC2005. • Software Architecture: • Shared Memory Interactive Ray Tracer. • Modular, extensible design. • Transparency and ambient occlusion.
Engineering Scenario Ray tracer Data Other Apps Shared Memory System Aircraft Quality Analyst • Quality Analyst identifies problem with aircraft (in the field). • Contacts Liaison Engineer, begins remote collaborative session. • Use 3D model to visualize problem. • Discuss best course of action using video and desktop sharing tools. Tablet PC Network Display Wall Liaison Engineer We are only concerned with how ray tracing fits into the scenario.
Engineering Scenario Aircraft Quality Analyst What Tools? • Access Grid for communication • Ray Tracer for visualization • Other Boeing software • Network • Tablet PCs • Display Wall Tablet PC Network Display Wall Ray tracer Data Other Apps Liaison Engineer Shared Memory System
Remote Visualization Aircraft Quality Analyst Remote Visualization • Necessary to share large servers. • Increases data security. • Collaborative visualization a byproduct. • Performance and resolution factor of distance. Tablet PC Network Display Wall Ray tracer Data Other Apps Liaison Engineer Shared Memory System
Engineering Scenario Aircraft Quality Analyst • We are only concerned with how ray tracing fits into the scenario. Tablet PC Network Display Wall Ray tracer Data Other Apps Liaison Engineer Shared Memory System
Feasibility Demonstration • Assembled at Boeing in Bellevue WA • Demonstrated at SC2005 • Result: • “…we clearly showed the • feasibility of adding video/audio collaboration • and large model visualization to standard Boeing tools to solve assembly • floor problems expediently.” -Dave Kasik, Boeing • Now let’s look at the rendering problem:
Input: Boeing 777-200 Model • Dataset Facts: • 350 M triangles. • 13,000 .obj input files. • Color domain specific • Mesh vertices jittered. • Many copies of certain parts • Observations: • First 777-200 off the line. • Missing over-wing exits. • First class looks plush. Boeing 777-200 model provided courtesy of The Boeing Company
Ray Tracing? Find closest intersection to image along a ray. • Rasterization uses projection
Ray Tracing? Easy to change visibility. Scalability Geometry Parallel Easy shading effects. • Find closest intersection • Invoke material shader on hit point. • Send shadow rays. • Send secondary rays. • Repeat. • Return sample color.
What had to be done with Ray Tracing? • During Scenario: • Cutting Planes • Hiding Objects • Transparency • Other techniques: • Ambient Occlusion Hiding Objects Cutting Planes Users employed cutting planes and object hiding to locate a certain region of the model, then adjusted opacity to examine fine details and occluded structures.
Manta Software Architecture • Modular Design • Allows Manta to be embedded in other programs. • Supports multiple primitives: • Massive triangle models. • Massive volumes. • Sphere glyph (MPM) rendering. • Python front-end • VTK Integration. • Open Source • Highly Portable Material Point Method Dataset
Parallel Pipeline Manta Pipeline Modular and extensible components. Transaction state changes applied each stage. Barrier synchronization between stages. Image Display Thread n Ray Tracing Pipeline Barrier . . . Thread 0 Frame Setup Transactions
Parallel Pipeline Display of previous frame. Thread n • Display frame i-1 • Thread 0 calls opengl. • All others return immediately. . . . Thread 0
Parallel Pipeline Thread n • While thread 0 is displaying frame i-1: • All other threads start rendering frame i. • Thread 0 joins as soon as it finishes image display. ray tracing . . . Thread 0
Parallel Pipeline Thread n • Load balance responsible for even work distribution • All threads synchronize at barrier. . . . Thread 0
Parallel Pipeline Thread n • Display frame I • Repeat! Tasks scheduled by category: • Inherently balanced. • Imbalanced. • Actively load balanced. . . . Thread 0
Rendering Stack Rendering Stack Modular call stack invoked by rendering stage. Thread n . . . Thread 0 Renderer Pixel Sampler Image Traverser
Image Traverser Divides frame into tiles Assigns tiles to threads Default: Work assignment queue. load balancer
Pixel Sampler Places samples inside fragments. Creates ray packets.
Renderer Dispatches ray packets to Camera, scene or shaders. Multiple passes between scene and shaders.
Rendering Stack Camera sets ray origin, direction
Rendering Stack Scene intersect
Rendering Stack Scene intersect Shade ray packets
Rendering Stack Scene intersect Shade ray packets Repeat
Transparency Transparent rendering reveals intricate details while preserving the context of the model.
Transparency One option: Find closest intersection. Shoot secondary ray. Find next intersection. Blend shaded samples.
Transparency Find the first n intersection points. Sort and blend samples. (n depends on alpha) Sorting is necessary since triangles won’t be intersected in order. (Each kdtree leaf contains several triangles.) One option: Find closest intersection. Shoot secondary ray. Find next intersection. Blend shaded samples.
Transparency Stack Changes Combine intersection & shading.
Ambient Occlusion Lambertian w/ Shadows Ambient Occlusion Ambient Occlusion increases contrast In areas of fine detail.
Ambient Occlusion • Sample the hemisphere of each primary ray hit point. • Use hit ratio to compute ambient term.
Interleaved Sampling • Adapted Instant Global Illumination • Interleaved sampling of secondary rays based on NxN pixel neighborhood. • Filter truncates based on distance threshold. • Sensitive to normal between neighbors.
Ambient Occlusion Stack Changes Modify Image Traverser,Pixel Sampler Add New shader
Rendering Performance • 128 p 1.6 Ghz Itanium2 • 92% linear at 64p 82% at 126p • Resolution 1024x768 • Demonstration system • 62 p 1.4 Ghz Itanium2 • Resolution 800x600
Rendering Performance Cont’d Ambient Occlusion • 62 p 1.5 Ghz • Resolution 512x512 • 3-5 fps depending on quality. • Not fast enough to be useful during feasibility demonstration.
Acknowledgments • Utah Funding Agencies: • DOE ASC CSAFE • Utah Center of Excellence for Interactive Ray-Tracing and Photo Realistic Visualization • Demonstration at SC2005: • Silicon Graphics Inc. • Intel Corporation • The Boeing Company The Boeing Company: David Kasik and Jim Troy SGI Visual Systems Group: Hansong Zhang Rocky Rhodes, Kenny Hoff, Dan McLachlan, Jimmy Wang Software: Manta is open source software and contains contributions from many individuals. Data: All 3D Model data was provided by The Boeing Company