Polygonization of Implicit Surfaces on Multi-Core Architectures with SIMD Instructions

In this research we tackle the problem of rendering complex models which are created using implicit primitives, blending operators, affine transformations and constructive solid geometry in a design environment that organizes all these in a scene graph data structure called BlobTree. We propose a fast, scalable, parallel polygonization algorithm for BlobTrees that takes advantage of multicore processors and SIMD optimization techniques available on modern architectures. Efficiency is achieved through the usage of spatial data structures and SIMD optimizations for BlobTree traversals and the computation of mesh vertices and other attributes. Our solution delivers interactive visualization for modeling systems based on BlobTree scene graph.

[1]  Brian Wyvill,et al.  Introduction to Implicit Surfaces , 1997 .

[2]  Edward T. Grochowski,et al.  Larrabee: A many-Core x86 architecture for visual computing , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[3]  H. Hagen,et al.  Interactive Ray Tracing of Arbitrary Implicits with SIMD Interval Arithmetic , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[4]  Christopher DeCoro,et al.  Advanced interactive medical visualization on the GPU , 2008, J. Parallel Distributed Comput..

[5]  Robert A. Hummel,et al.  Exploiting Triangulated Surface Extraction Using Tetrahedral Decomposition , 1995, IEEE Trans. Vis. Comput. Graph..

[6]  Hamish A. Carr,et al.  Accelerating marching cubes with graphics hardware , 2006, CASCON.

[7]  Jules Bloomenthal,et al.  An Implicit Surface Polygonizer , 1994, Graphics Gems.

[8]  Brian Wyvill,et al.  ShapeShop: sketch-based solid modeling with BlobTrees , 2007, SIGGRAPH '07.

[9]  Xin Wang,et al.  Fast Visualization Algorithm for Implicit Surfaces , 2006, 16th International Conference on Artificial Reality and Telexistence--Workshops (ICAT'06).

[10]  Brian Wyvill,et al.  Implicit Blending Revisited , 2010, Comput. Graph. Forum.

[11]  Charles D. Hansen,et al.  Massively parallel isosurface extraction , 1992, Proceedings Visualization '92.

[12]  Stephen D. Laycock,et al.  A Survey of Haptic Rendering Techniques , 2007, Comput. Graph. Forum.

[13]  Geoff Wyvill,et al.  Data structure forsoft objects , 1986, The Visual Computer.

[14]  Mathieu Desbrun,et al.  Animation of Deformable Models Using Implicit Surfaces , 1997, IEEE Trans. Vis. Comput. Graph..

[15]  James Reinders,et al.  Intel threading building blocks - outfitting C++ for multi-core processor parallelism , 2007 .

[16]  Laurent Grisoni,et al.  Realtime visualization of implicit objects with contact control , 2003, GRAPHITE '03.

[17]  Paul Mackerras A fast parallel marching-cubes implementation on the Fujitsu AP1000 , 1992 .

[18]  John H Mathews,et al.  Numerical methods for computer science, engineering, and mathematics , 1986 .

[19]  Paolo Cignoni,et al.  Speeding Up Isosurface Extraction Using Interval Trees , 1997, IEEE Trans. Vis. Comput. Graph..

[20]  Luciana Porcher Nedel,et al.  Marching Cubes without Skinny Triangles , 2009, Computing in Science & Engineering.

[21]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[22]  Hanan Samet,et al.  Navigating through triangle meshes implemented as linear quadtrees , 2000, TOGS.

[23]  Peter Kipfer GPU Construction and Transparent Rendering of Iso-Surfaces , 2005 .

[24]  Michael L. Scott,et al.  False sharing and its effect on shared memory performance , 1993 .

[25]  Irina Voiculescu,et al.  Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms , 2009 .

[26]  Ming-Yong Pang,et al.  Parallel Polygonization of Implicit Surfaces , 2010, 2010 International Symposium on Intelligence Information Processing and Trusted Computing.

[27]  Brian Wyvill,et al.  Extending the CSG Tree. Warping, Blending and Boolean Operations in an Implicit Surface Modeling System , 1999, Comput. Graph. Forum.

[28]  Brian Wyvill,et al.  Interactive implicit modeling with hierarchical spatial caching , 2005, International Conference on Shape Modeling and Applications 2005 (SMI' 05).

[29]  Wang Feng Adaptive Polygonization of Implicit Surfaces Based on Mesh Optimization , 2008 .

[30]  Brian Wyvill,et al.  Efficient use of the BlobTree for rendering purposes , 2001, Proceedings International Conference on Shape Modeling and Applications.