Title: Geometric Modeling
1An 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 1045 - 1110
2Software Architecture Technology Application
- Software Architecture
- Shared Memory Interactive Ray Tracer.
- Modular, extensible design.
- Transparency and ambient occlusion.
3Engineering Scenario
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.
4Engineering 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
5Remote 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
6Engineering Scenario
Aircraft
Quality Analyst
Tablet PC
Network
Display Wall
Ray tracer
Data
Other Apps
Liaison Engineer
Shared Memory System
- We are only concerned with how ray tracing fits
into the scenario.
7Feasibility 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 lets look at the rendering problem
8Input 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
9Ray Tracing?
- Find closest intersection to image along a ray.
- Rasterization uses projection
10Ray Tracing?
- Find closest intersection
- Invoke material shader on hit point.
- Send shadow rays.
- Send secondary rays.
- Repeat.
- Return sample color.
- Easy to change visibility.
- Scalability
- Geometry
- Parallel
- Easy shading effects.
11What 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.
12Manta 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
13Parallel 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
14Parallel Pipeline
Display of previous frame.
Thread n
. . .
Thread 0
- Display frame i-1
- Thread 0 calls opengl.
- All others return immediately.
15Parallel Pipeline
Thread n
ray tracing
. . .
Thread 0
- 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.
16Parallel Pipeline
Thread n
. . .
Thread 0
- Load balance responsible for even work
distribution - All threads synchronize at barrier.
17Parallel Pipeline
Thread n
. . .
Thread 0
- Display frame I
- Repeat!
- Tasks scheduled by category
- Inherently balanced.
- Imbalanced.
- Actively load balanced.
18Rendering Stack
- Rendering Stack
- Modular call stack invoked by rendering stage.
Renderer
Pixel Sampler
Image Traverser
19Image Traverser
- Divides frame into tiles
- Assigns tiles to threads
- Default Work assignment queue.
load balancer
20Pixel Sampler
- Places samples inside fragments.
- Creates ray packets.
21Renderer
- Dispatches ray packets to Camera, scene or
shaders. - Multiple passes between scene and shaders.
22Rendering Stack
- Camera sets ray origin, direction
23Rendering Stack
24Rendering Stack
- Scene intersect
- Shade ray packets
25Rendering Stack
- Scene intersect
- Shade ray packets
- Repeat
26Transparency
Transparent rendering reveals intricate details
while preserving the context of the model.
27Transparency
- One option
- Find closest intersection.
- Shoot secondary ray.
- Find next intersection.
- Blend shaded samples.
28Transparency
- One option
- Find closest intersection.
- Shoot secondary ray.
- Find next intersection.
- Blend shaded samples.
- Find the first n intersection points.
- Sort and blend samples.
- (n depends on alpha)
- Sorting is necessary since triangles wont be
intersected in order. (Each kdtree leaf contains
several triangles.)
29Transparency Stack Changes
- Combine intersection shading.
30Ambient Occlusion
Ambient Occlusion increases contrast In areas of
fine detail.
31Ambient Occlusion
- Sample the hemisphere of each primary ray hit
point. - Use hit ratio to compute ambient term.
32Interleaved 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.
33Ambient Occlusion Stack Changes
- Modify Image Traverser,Pixel Sampler
- Add New shader
34Rendering 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
35Rendering Performance Contd
Ambient Occlusion
- 62 p 1.5 Ghz
- Resolution 512x512
- 3-5 fps depending on quality.
- Not fast enough to be useful during feasibility
demonstration.
36Acknowledgments
- 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
37Questions?