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 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 QuadricsTorus
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 perspectiveorthographic gl_RECT(-1,-1,1,1); or gl_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 plant 13M triangles Oil platform 27M triangles
Reverse Engineering Results Memory reduction PPlant (without UT)PPlant (with UT) Converted triangles409 KB482 KB Primitives6.5 KB79 KB Reduction factor98 %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) Triangles12.7 MΔ Unrecovered1.2 MΔ Primitives200 K
Speed-up (3/3)
Image Quality Silhouette Continuity Intersection
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 us: Gmail: rodrigodetoledo