Upload
randall-richardson
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Visualization of Industrial Structures with Implicit GPU Primitives
Rodrigo de Toledo
Bruno Levy
Plan
• Motivation
• Previous work
• Our contributions– New GPU primitives– Implicit information on GPU– Study-cases
• Results
• Conclusions
Motivation• Problem statement: Interactive visualization of
massive models is very difficult– Too much primitives (triangles)
• Proposition: Whenever it is possible, use implicit GPU primitives rather than triangles– Example: power plant
13 M triangles
200K implicit primitives+ 1M triangles
(2x speed-up + quality)
Reverse engineering
Previous Work (1/3)
• Extended GPU primitives:– 2004, “Extending the graphic pipeline with
new GPU-accelerated primitives”– Quadrics:
GPU primitives• Ray cast• Z-buffer update• Freely combined with triangle meshes• Advantages:
– Quality• Computations by pixel• Silhouette, phong etc…
– Speed• Very simple fragment shaders• LOD behavior
– Memory• Represented by few parameters
Previous Work (2/3)
• ISVC 2007, “Iterative Methods for Visualization of Implicit Surfaces on GPU”– Cubics and Quartics– TORUS
Multiple Tori• GPU primitives are
faster• 16000 tori
– Newton at 50 fps– the others < 1fps
GeForce 7900
Previous Work (3/3)TMCE 2008, “Reverse Engineering for Industrial-Environment CAD Models”
– Industrial environments are mainly composed by tubular structures (90%)
– Topological approach
Quadrics Torus
Our contributions
• New GPU primitives– Billboard cylinder– Truncated cone– Torus slice
• Implicit information encoded on GPU memory– Floating-point texture
• Two study-cases– Power-plant– Oil platform
Cylinders
• Billboard– only 4 vertices– tight projection enclosing the cylinder
perspective orthographic
gl_RECT(-1,-1,1,1); orgl_RECT(-u,-v,u,v);
• View-dependent coordinate system
• Computing perspective
Cylinders
• Including caps on cylinders in perspective
Cylinders
• Truncated and complete cones
Cones
Torus slices
• Adaptive polyhedra
• Up to 180º
• Very useful for CAD
Grouping primitive parameters
• Floating-point texture (each texel 4 scalars)• Read by vertices• Double speed• Our biggest example only uses 10MB
(340k primitives)
Study cases
• Power plant13M triangles
• Oil platform27M triangles
Reverse EngineeringResults
Memory reductionPPlant (without UT) PPlant (with UT)
Converted triangles 409 KB 482 KB
Primitives 6.5 KB 79 KB
Reduction factor 98 % 83 %
Speed-up (1/3)
• Test settings:– Without any culling
• They would disturb our results• Surely, culling algorithms would increase all frame rates
– We have compared GPU primitives against triangles– Triangles rendering:
• Multiple VBO (Vertex Buffer Object)
– GPU primitives in two situations:• Exclusively• Combined with unrecognized triangles
– GeForce 7900
Speed-up (2/3)
Triangles 12.7 MΔ
Unrecovered 1.2 MΔ
Primitives 200 K
Speed-up (3/3)
Image Quality SilhouetteSilhouette
ContinuityContinuity
IntersectionIntersection
Conclusion• Topological reverse engineering shows good
efficiency– but it is restricted to CAD models (depends on
regularity)
• With GPU primitives rendering we combine more quality, more speed and less memory
• Future work: new implicit GPU primitives for CAD models– GPU implementation + Rev. Eng.– Ex: half-sphere, half-ellipsoid, sheared cylinder
Thank you!
For questions please email us:
Gmail: rodrigodetoledo