interactive visualization of exceptionally complex industrial cad datasets andreas dietrich ingo...

Post on 03-Jan-2016

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Interactive Visualization of Interactive Visualization of Exceptionally Complex IndustrialExceptionally Complex Industrial

CAD DatasetsCAD Datasets

Andreas Dietrich Ingo Wald Philipp Slusallek

Computer Graphics Group

Saarland University

http://graphics.cs.uni-sb.de

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 22

MotivationMotivationMotivationMotivation

• CG hardware performance has dramatically increased– Typically based on rasterization technology– Can render many million triangles / second

• Scene complexity rises even faster– Many CAD datasets too complex to be displayed interactively– Rasterization algorithms too limited

Real-Time Ray Tracing approachChallenge: Interactive visualization of a „Boeing 777“

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 33

IntroductionIntroductionIntroductionIntroduction

• Virtual prototyping becoming increasingly important

• Collaborative engineering – CAD design of complete aircrafts, ships, buildings, etc.– Many independent teams design individual components– Millions of single parts modeled with full geometric detail

• Complete datasets become extremely large

• Goal: Direct interactive display of original CAD data

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 44

The „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ Model

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 55

The „Boeing 777“ ModelThe „Boeing 777“ ModelGeometric ComplexityGeometric ComplexityThe „Boeing 777“ ModelThe „Boeing 777“ ModelGeometric ComplexityGeometric Complexity

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 66

The „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ Model

• More than 350 million individual triangles

• 12 GByte raw model data

• Complicated topological structure

• Low degree of occlusion

• „Soup“ of unconnected polygons

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 77

Complex interwoven parts Self-intersecting polygons

The „Boeing 777“ ModelThe „Boeing 777“ ModelComplicated TopologyComplicated TopologyThe „Boeing 777“ ModelThe „Boeing 777“ ModelComplicated TopologyComplicated Topology

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 88

The „Boeing 777“ ModelThe „Boeing 777“ ModelLow Degree of OcclusionLow Degree of OcclusionThe „Boeing 777“ ModelThe „Boeing 777“ ModelLow Degree of OcclusionLow Degree of Occlusion

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 99

The „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ Model

• Same problem with most industrial CAD datasets

• Difficult for most large model rendering systemsDetailed discussion in [Wald et al., EGSR 2004]

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1010

The „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ ModelThe „Boeing 777“ Model

• Same problem with most industrial CAD datasets

• Difficult for most large model rendering systemsDetailed discussion in [Wald et al., EGSR 2004]

Real-Time Ray Tracing approach

Goal: Interactive visualization on a single PC

(Dual AMD Opteron 1.8 GHz, 6 GByte RAM)

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1111

Out-of-Core Ray TracingOut-of-Core Ray TracingOut-of-Core Ray TracingOut-of-Core Ray Tracing

• Ray tracing capable of handling massive models – Logarithmic in the number of triangles– Multi-level Kd-trees as hierarchical spatial index

• „Boeing 777“ model requires 30 – 40 GByte on disk

Out-of-core mechanism needed

• Build index structures offline on disk

• Map disk data into 64-bit address space (mmap())

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1212

Memory ManagementMemory ManagementOS Based Memory MappingOS Based Memory MappingMemory ManagementMemory ManagementOS Based Memory MappingOS Based Memory Mapping

• Advantages of OS based memory mapping– Automatic demand paging– Address translation and I/O handled by CPU and OS– Fine cache granularity (pagesize 4 KByte)

• Problems– Access to unavailable data causes page faults– Stalling of rendering process inhibits interactivity

Manually check data availabilityDetect and prevent page faults using tile table

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1313

Memory ManagementMemory ManagementTile TableTile TableMemory ManagementMemory ManagementTile TableTile Table

• Simple hash table to efficiently check tile availability

1 tile = 16 pages

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1414

Memory ManagementMemory ManagementTile HandlingTile HandlingMemory ManagementMemory ManagementTile HandlingTile Handling

• Tile descriptor– Bits 48 – 16 : Tile base address (detect hash collisions)– Bit 1 : Referenced bit– Bit 0 : Availability bit

• Tiles loaded by asynchronous fetcher thread– Cache miss: Add tile ID to request queue

• Asynchronous tile eviction– Free memory using „Second Chance“ algorithm (madvise())

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1515

Proxy ObjectsProxy ObjectsBridging Loading TimeBridging Loading TimeProxy ObjectsProxy ObjectsBridging Loading TimeBridging Loading Time

• Have to cancel ray traversal if data is not available

• Large memory working set even for a single frame– All required data cannot be loaded every frame– Try to display some meaningful approximation

Memory resident „Proxy“ objects

Replacement until exact data has been loaded

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1616

Proxy ObjectsProxy ObjectsStructureStructureProxy ObjectsProxy ObjectsStructureStructure

• Proxies precomputed prior to rendering– Build proxy for subtrees accessed when crossing tile borders– Sample subtree volume with rays– Store normals and materials for set of discretized ray directions

28 directions / voxel :Less than 350 MBytefor complete model

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1717

Proxy ObjectsProxy ObjectsStructureStructureProxy ObjectsProxy ObjectsStructureStructure

• When ray traversal has to be canceled– Interpolate shading information from closest ray directions

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1818

Proxy ObjectsProxy ObjectsResults Results Proxy ObjectsProxy ObjectsResults Results

• Immediately after system startup

Without proxies (red: canceled rays) With proxies

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 1919

Proxy ObjectsProxy ObjectsResults Results Proxy ObjectsProxy ObjectsResults Results

• After ~30 seconds (more than 2 GByte loaded)

Without proxies (red: canceled rays) With proxies

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 2020

High-Quality ShadingHigh-Quality ShadingShadowsShadowsHigh-Quality ShadingHigh-Quality ShadingShadowsShadows

• Without shadows and highlights

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 2121

High-Quality ShadingHigh-Quality ShadingShadowsShadowsHigh-Quality ShadingHigh-Quality ShadingShadowsShadows

• Pixel-accurate shadows and highlights– Simple integration into a ray tracer– Significant improvement of depth perception

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 2222

High-Quality ShadingHigh-Quality ShadingObserver Light SourceObserver Light SourceHigh-Quality ShadingHigh-Quality ShadingObserver Light SourceObserver Light Source

• Difficult to place light sources

• Attach directional light to observer

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 2323

ResultsResultsVideo (640x480 pixels, up to 3 fps)Video (640x480 pixels, up to 3 fps)ResultsResultsVideo (640x480 pixels, up to 3 fps)Video (640x480 pixels, up to 3 fps)

Interactive Visualization of Complex CAD DatasetsInteractive Visualization of Complex CAD Datasets 2424

SummarySummarySummarySummary

• Out-of-core RT framework for complex models– Semi-manual OS based memory management system– Proxy objects as replacement for missing data– Full interactivity during progressive loading– Pixel-accurate shadows

• Future work– Improve proxy quality– Sophisticated lighting simulation

Questions ?Questions ?

For more information see

http://graphics.cs.uni-sb.dehttp://www.openrt.dehttp://www.intrace.com

Source 3D data provided by and used with permission of the Boeing Company

top related