230 likes | 355 Views
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. 13 M triangles 200K implicit primitives + 1M triangles
E N D
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
13 M triangles 200K implicit primitives + 1M triangles (2x speed-up + quality) Reverse engineering 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
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); or gl_RECT(-u,-v,u,v);
Cylinders • View-dependent coordinate system • Computing perspective
Cylinders • Including caps on cylinders in perspective
Cones • Truncated and complete 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
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
Silhouette Intersection Continuity Image Quality
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