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