ABSTRACT
Using subdivision as a basic primitive for the construction of arbitrary topology, smooth, free-form surfaces is attractive for content destined for display on devices with greatly varying rendering performance. Subdivision naturally supports level of detail rendering and powerful compression algorithms. While the underlying algorithms are conceptually simple it is difficult to implement player engines which achieve optimal performance on modern CPUs such as the Intel Pentium family.In this paper we describe a novel table driven evaluation strategy for subdivision surfaces using as an example the scheme of Catmull and Clark. Cache conscious design and exploitation of SIMD instructions allows us to achieve nearly 100% FPU utilization in the inner loop and achieve a composite performance of 1.2 flop/cycle on the Intel PIII and 1.8 flop/cycle on the Intel P4 including all memory transfers. The algorithm supports tradeoffs between cache size and memory bus usage which we examine. A library which implements this engine is freely available from the authors.
- 1.BIERMANN, H., LEVIN, A., AND ZORIN, D. Piecewise Smooth Subdivision Surfaces with Normal Control. Proceedings of SIGGRAPH 2000 (2000), 113- 120. Google ScholarDigital Library
- 2.BISCHOFF, S., KOBBELT,L.P.,AND SEIDEL, H.-P. Towards Hardware Implementation Of Loop Subdivision. 2000 SIGGRAPH / Eurographics Workshop on Graphics Hardware (2000), 41-50. Google ScholarDigital Library
- 3.BRICKHILL, D. Practical Implementation Techniques for Multi-Resolution Subdivision Surfaces. In Game Developers Conference, 2001.Google Scholar
- 4.CATMULL, E., AND CLARK, J. Recursively Generated B-Spline Surfaces on Arbitrary Topological Meshes. Computer Aided Design 10, 6 (1978), 350-355.Google ScholarCross Ref
- 5.DEROSE,T.,KASS, M., AND TRUONG, T. Subdivision Surfaces in Character Animation. Proceedings of SIGGRAPH 98 (1998), 85-94. Google ScholarDigital Library
- 6.HAVEMANN, S. Interactive Rendering of Catmull/Clark Surfaces with Crease Edges. Tech. Rep. TUBSCG-2001-01, TU Braunschweig, 2001.Google Scholar
- 7.INTEL CORPORATION. C++ Class Libraries for SIMD Operations Reference Manual., 1997-1999.Google Scholar
- 8.INTEL CORPORATION. IA-32 Intel Architecture Software Developer's Manual, 1997-2001.Google Scholar
- 9.JUNKINS, S. Fast Triangle Neighbor Finding for Subdivision Surfaces. Tech. rep., Intel Architecture Labs, September 1999.Google Scholar
- 10.KHODAKOVSKY, A., SCHRODER,P.,AND SWELDENS, W. Progressive Geometry Compression. Proceedings of SIGGRAPH 00 (2000), 271-278. Google ScholarDigital Library
- 11.LIEN, S.-L., SHANTZ, M., AND PRATT, V. Adaptive Forward Differencing for Rendering Curves and Surfaces. Computer Graphics (Proceedings of SIG- GRAPH 87) 21, 4 (1987), 111-118. Google ScholarDigital Library
- 12.LOOP, C. Smooth Subdivision Surfaces Based on Triangles. Master's thesis, University of Utah, Department of Mathematics, 1987.Google Scholar
- 13.MULLER, K., AND HAVEMANN, S. Subdivision Surface Tessellation on the Fly using a versatile Mesh Data Structure. Computer Graphics Forum 19, 3 (2000).Google ScholarCross Ref
- 14.PULLI, K., AND SEGAL, M. Fast Rendering of Subdivision Surfaces. In Rendering Techniques '96,61-70, 1996. Google ScholarDigital Library
- 15.SAMET,H. The Design and Analysis of Spatial Data Structures. Addison- Wesley, 1990. Google ScholarDigital Library
- 16.STAM, J. Exact Evaluation of Catmull-Clark Subdivision Surfaces at Arbitrary Parameter Values. Proceedings of SIGGRAPH 98 (1998), 395-404. Google ScholarDigital Library
- 17.YING, L., AND ZORIN, D. Nonmanifold Subdivision. In Proceedings of Visualization 2001, 2001. Google ScholarDigital Library
- 18.ZORIN, D., AND KRISTJANSSON, D. Evaluation of Piecewise Smooth Subdivision Surfaces. Visual Computer (2002).Google Scholar
- 19.ZORIN, D., AND SCHRODER, P., Eds. Subdivision for Modeling and Animation. Course Notes. ACM Siggraph, 2000.Google Scholar
- 20.ZORIN, D., SCHRODER,P.,AND SWELDENS, W. Interactive Multiresolution Mesh Editing. Proceedings of SIGGRAPH 97 (1997), 259-268. Google ScholarDigital Library
Recommendations
Exact evaluation of Catmull-Clark subdivision surfaces at arbitrary parameter values
SIGGRAPH '98: Proceedings of the 25th annual conference on Computer graphics and interactive techniquesIn this paper we disprove the belief widespread within the computer graphics community that Catmull-Clark subdivision surfaces cannot be evaluated directly without explicitly subdividing. We show that the surface and all its derivatives can be evaluated ...
Approximating Catmull-Clark subdivision surfaces with bicubic patches
We present a simple and computationally efficient algorithm for approximating Catmull-Clark subdivision surfaces using a minimal set of bicubic patches. For each quadrilateral face of the control mesh, we construct a geometry patch and a pair of tangent ...
Feature-adaptive GPU rendering of Catmull-Clark subdivision surfaces
We present a novel method for high-performance GPU-based rendering of Catmull-Clark subdivision surfaces. Unlike previous methods, our algorithm computes the true limit surface up to machine precision, and is capable of rendering surfaces that conform ...
Comments