An improved vertex caching scheme for 3D mesh rendering

Modern graphics cards are equipped with a vertex cache to reduce the amount of data needing to be transmitted to the graphics pipeline during rendering. To make effective use of the cache and facilitate rendering, it is key to represent a mesh in a manner that maximizes the cache hit rate. In this paper, we propose a simple yet effective algorithm for generating a sequence for efficient rendering of 3D polygonal meshes based on greedy optimization. The algorithm outperforms the current state-of-the-art algorithms in terms of rendering efficiency of the resultant sequence. We also adapt it for the rendering of progressive meshes. For any simplified version of the original mesh, the rendering sequence is generated by adaptively updating the reordered sequence at full resolution. The resultant rendering sequence is cheap to compute and has reasonably good rendering performance, which is desirable to many complex rendering environments involving continuous rendering of meshes at various level of details. The experimental results on a collection of 3D meshes are provided.

[1]  Hugues Hoppe,et al.  Optimization of mesh locality for transparent vertex caching , 1999, SIGGRAPH.

[2]  Craig Gotsman,et al.  Efficient compression and rendering of multi-resolution meshes , 2002, IEEE Visualization, 2002. VIS 2002..

[3]  Michael B. Dillencourt,et al.  Finding Hamiltonian Cycles in Delaunay Triangulations Is NP-complete , 1996, Discret. Appl. Math..

[4]  Hugues Hoppe,et al.  Progressive meshes , 1996, SIGGRAPH.

[5]  Rémi Ronfard,et al.  Full‐range approximation of triangulated polyhedra. , 1996, Comput. Graph. Forum.

[6]  William G. Poole,et al.  An algorithm for reducing the bandwidth and profile of a sparse matrix , 1976 .

[7]  Craig Gotsman,et al.  Universal Rendering Sequences for Transparent Vertex Caching of Progressive Meshes , 2002, Comput. Graph. Forum.

[8]  Marc Levoy,et al.  The digital Michelangelo project , 1999, Second International Conference on 3-D Digital Imaging and Modeling (Cat. No.PR00062).

[9]  E. Cuthill,et al.  Reducing the bandwidth of sparse symmetric matrices , 1969, ACM '69.

[10]  Tom Davis,et al.  Opengl programming guide: the official guide to learning opengl , 1993 .

[11]  JOSEP DÍAZ,et al.  A survey of graph layout problems , 2002, CSUR.

[12]  Meenakshisundaram Gopi,et al.  Constrained strip generation and management for efficient interactive 3D rendering , 2005, International 2005 Computer Graphics.

[13]  Francis Schmitt,et al.  Mesh Simplification , 1996, Comput. Graph. Forum.

[14]  Steven Skiena,et al.  Optimizing triangle strips for fast rendering , 1996, Proceedings of Seventh Annual IEEE Visualization '96.

[15]  Mike M. Chow,et al.  Optimized geometry compression for real-time rendering , 1997, Proceedings. Visualization '97 (Cat. No. 97CB36155).

[16]  S. Sloan An algorithm for profile and wavefront reduction of sparse matrices , 1986 .

[17]  Joseph S. B. Mitchell,et al.  Fast and effective stripification of polygonal surface models , 1999, SODA '99.

[18]  Yuanchen Zhu,et al.  Uniform remeshing with an adaptive domain: a new scheme for view-dependent level-of-detail rendering of meshes , 2005, IEEE Transactions on Visualization and Computer Graphics.

[19]  Pierre Alliez,et al.  Valence‐Driven Connectivity Encoding for 3D Meshes , 2001, Comput. Graph. Forum.

[20]  Russell H. Taylor,et al.  Superfaces: polygonal mesh simplification with bounded error , 1996, IEEE Computer Graphics and Applications.

[21]  Joseph S. B. Mitchell,et al.  Optimal decomposition of polygonal models into triangle strips , 2002, SCG '02.

[22]  システムソフトエンジニアリング OpenGL programming guide(日本語版) : the official guide to learning OpenGL, release 1 , 1993 .

[23]  William E. Lorensen,et al.  Decimation of triangle meshes , 1992, SIGGRAPH.

[24]  Michael Deering,et al.  Geometry compression , 1995, SIGGRAPH.