Large-Scale CAD Model Visualization on a
Scalable Shared-Memory Architecture
Andreas Dietrich¹, Ingo Wald², and Philipp Slusallek¹
¹Computer Graphics Group, Saarland University, Saarbrücken, Germany
²Max-Planck-Institut Informatik, Saarbrücken, Germany
extensively applied in virtually all
industrial engineering design projects.
Design and development of complete
airplanes, ships, cars, etc. is performed
on a complete digital basis. In the
course of such large scale-engineering
projects vast amounts of data are
generated, and the complexity of
designs is expanding by orders of
The problem of how to interpret,
understand, and in particular how to
interactively visualize these complex
designs has grown into an important
challenge. With complete geometric
databases containing up to billions of
primitives the interactive display of the
full original data is usually not possible,
not even with current state-of-the-art
graphics hardware.
Example: Boeing 777
• Boeing’s first commercial jetliner to be designed fully digital (CATIA framework).
• More than 10,000 people involved in 238 geographically dispersed teams.
Test model dataset:
Complicated structure:
Directly exported from original CAD database.
13,000 object files.
12 GByte of raw geometrical model data.
Contains more than 350 million triangles.
20 GByte of data if ray tracing acceleration
structures (k-d trees) are included.
Extreme geometric detail all over the model.
Low degree of occlusion.
Complicated geometric topology.
Self-intersecting and overlapping surfaces.
“Soup” of triangles.
 Difficult to handle for standard approaches.
Interactive Parallel Ray Tracing
For real-time display of highly complex models, ray
tracing provides a better alternative than rasterization.
Ray tracing algorithms closely model physical light
transport by shooting rays into the virtual scene. By
employing spatial index structures, ray-object
intersections can be found efficiently, resulting in a
logarithmic time complexity with respect to scene size.
Additionally, because of the algorithm’s output
sensitivity, only data that is actually visible is
eventually accessed. This allows to directly visualize
complex datasets pixel-accurately without any kind of
simplification or approximation.
Since the colors of different pixels can be calculated
independently of each other, ray tracing offers an
extremely high degree of parallelism. By assigning
different pixels to different processing units, it is
therefore possible to reach even real-time
performance of up to 15 frames / s (no shadows).
Distance measurement
Line end-points are placed with the mouse. Rays
are fired through the respective pixels to determine
the end-point positions.
Component Identification
The mouse simply needs to be
positioned over the part to be
identified. Extra rays are shot to find
the ID of the visible component.
Physically correct shading
Soft shadows significantly enhance the
impression of shape and depth.
Shared-Memory Hardware
SGI Altix 350:
• 8 nodes each fitted with
• 2 Itanium 2 CPUs (1.4 GHz)
• 4 GByte local memory
• High-bandwidth interconnect
• Peak rate 6.4 GByte / s
• Application transparent
The complete model including all k-d tree structures is stored in binary
form. The binary files can be mapped from (RAM-)disk into the global
shared-memory space by the operating system, and are then visible in
the virtual address space of each of the 16 client ray tracing processes.
[1] Ingo Wald, Andreas Dietrich, and Philipp Slusallek. An Interactive Out-of
Core Rendering Framework for Visualizing Massively Complex Models. In
Rendering Techniques 2004, Proceedings of the Eurographics Symposium
on Rendering, pages 81–92, 2004.
[2] Andreas Dietrich, Ingo Wald und Philipp Slusallek. Interactive Visualization
of Exceptionally Complex Industrial Datasets, ACM SIGGRAPH 2004,
Sketches and Applications, 2004.
[3] Ingo Wald. Realtime Ray Tracing and Interactive Global Illumination. PhD
thesis, Computer Graphics Group, Saarland University, 2004. Available at