Section: New Results
Parameterization of triangle meshes
In the field of mesh parameterization, the impact of angular and boundary distortion on parameterization quality has brought forward the need for robust and efficient free boundary angle preserving methods. One of the most prominent approaches in this direction is the Angle Based Flattening (ABF) which directly formulates the problem as a constrained nonlinear optimization in terms of angles. Since the original formulation of the ABF, a steady research effort has been dedicated to improving its efficiency. As such, we have proposed in 2004 the ABF++ method  , based on numerical methods (sequential linear quadratic programming) and algebraic transforms of the initial problem (Schur complement). This dramatically reduced the dimension of the linear systems to be solved (from 4 nf+ 2 nv to 2 nv , where nf denotes the number of facets, and nv denotes the number of vertices). These transforms were combined with a multigrid optimization framework, to further improve performances. However, the ABF++ method still requires multiple iterations of a non-linear solver.
Our new linear ABF [Oops!] is based on a fundamental remark, made by Rhaleb Zayer (MPII Saarebrücken): As for any well posed numerical problem, the solution is generally an approximation of the underlying mathematical equations. As a followup of our ARC GEOREP, we developed Rhaleb Zayer's idea, leading to a linear approximate of the initial ABF equations. The time-space complexity and accuracy of the solution are to a great extent affected by the kind of approximation used. In this work we reformulate the problem based on the notion of error of estimation. A careful manipulation of the resulting equations yields for the first time a linear version of angle based parameterization. The error induced by this linearization is quadratic in terms of the error in angles and the validity of the approximation is further supported by numerical results. Besides performance speedup, the simplicity of the current setup makes re-implementation and reproduction of our results straightforward. An example is shown in Figure 6 . The so-computed texture coordinates can be used for appearance-preserving simplification. It is then possible to replace a 300K facets model with one of 3500 facets only, and preserve the details by applying a normal map.
Quad remeshing is an important problem in geometry processing. To be put simply, the problem consists in transforming triangles into squares. In more details, the idea is to transform a triangulated mesh (i.e., obtained by scanning a real object) into a quad-dominant control mesh (i.e., a Catmull-Clark control mesh). This problem is extremely difficult. Our Periodic Global Parameterization  is the first automatic algorithm that generates such a control mesh, adapted to the curvature of the shape. We were also able to use our method to convert scanned meshes into parametric surfaces  . However, we are still not fully satisfied with these results, since the method remains quite complicated. Spectral methods seem to be a promising approach, as shown in  . We started last year (2006) to study this formalism  , and established interesting properties between those eigenfunctions and a generalization of the Fourier transform on manifolds.
This year (2007), we worked on the discretization of the eigenvalue problem. We studied the “Shape DNA” method  , and developed two discretizations, one based on Finite Element Modeling, and the other one based on Discrete Exterior Calculus. As shown in Figure 7 , this provides a better understanding of discrete Laplacians, and allows to design mesh filtering algorithms that are independent from the initial mesh of the object. We also developed efficient algorithms to solve the high-dimensional eigenvalue problems. Based on algebraic transforms (shift-invert spectral transform), we developed a band-by-band computation algorithm, that can compute Laplacian eigenfunctions for meshes with millions vertices (article accepted pending minor revisions).
Numerical solvers on the GPU
A wide class of geometry processing and PDE resolution methods needs to solve a linear system, where the matrix pattern of non-zero coefficients is dictated by the connectivity matrix of the mesh. These numerical computations are so demanding on computational resources that the ever-growing power of GPUs makes them more and more valuable for handling such tasks. This is even more true with the appearance of new APIs (CTM from AMD-ATI and CUDA from NVIDIA) which give a direct access to the highly-multithreaded computational resources and associated memory bandwidth of GPUs; CUDA even provides a BLAS implementation but only for dense matrices (CuBLAS).
However, previously implemented GPU linear solvers are restricted to specific types of matrices (e.g., dense or band matrices), or use non-optimal compressed row storage strategies. By combining recent GPU programming techniques (and new GPU dedicated APIs) with supercomputing strategies (namely block compressed row storage and register blocking), we developed the CNC (Concurrent Number Cruncher) [Oops!] , a new sparse, general-purpose linear solver based on the Jacobi-Preconditioned Conjugate Gradient algorithm. To our knowledge, this is the first general purpose sparse linear solver for Graphics Processing Units. We successfully applied it to geometry processing problems (mesh fairing and mesh parameterization).
As shown in Figure 8 , our CNC outperforms by up to a factor of 6.0x leading-edge CPU implementations of the same algorithms for significant sizes of linear systems.