Adaptive forward differencing for rendering curves and surfaces

An adaptive forward differencing algorithm is presented for rapid rendering of cubic curves and bicubic surfaces. This method adjusts the forward difference step size so that approximately one pixel is generated along an ordinary or rational cubic curve for each forward difference step. The adjustment involves a simple linear transformation on the coefficients of the curve which can be accomplished with shifts and adds. This technique combines the advantages of traditional forward differencing and adaptive subdivision. A hardware implementation approach is described including the adaptive control of a forward difference engine. Surfaces are rendered by drawing many curves spaced closely enough together so that no pixels are left unpainted. A simple curve anti-aliasing algorithm is also presented in this paper. Anti-aliasing cubic curves is supported via tangent vector output at each forward difference step. The adaptive forward differencing algorithm is also suitable for software implementation.

[1]  Edwin Earl Catmull,et al.  A subdivision algorithm for computer display of curved surfaces. , 1974 .

[2]  Michael Shantz,et al.  Processing Display System Architectures , 1982, Optics & Photonics.

[3]  Vaughan R. Pratt,et al.  Techniques for conic splines , 1985, SIGGRAPH.

[4]  Michael Shantz,et al.  Shading bicubic patches , 1987, SIGGRAPH.

[5]  Mark Novak,et al.  Curve-drawing algorithms for Raster displays , 1985, TOGS.

[6]  Michael J Shantz Global Optimization In Binocular Vision , 1983, Optics & Photonics.

[7]  Michael J Shantz Two-Pass Warp Algorithm For Hardware Implementation , 1983, Optics & Photonics.

[8]  Michael Shantz,et al.  Rendering trimmed NURBS with adaptive forward differencing , 1988, SIGGRAPH.

[9]  S. A. Coons SURFACES FOR COMPUTER-AIDED DESIGN OF SPACE FORMS , 1967 .

[10]  Michael Shantz,et al.  Rendering cubic curves and surfaces with integer adaptive forward differencing , 1989, SIGGRAPH.

[11]  Richard F. Riesenfeld,et al.  A Theoretical Development for the Computer Generation and Display of Piecewise Polynomial Surfaces , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[12]  James F. Blinn,et al.  Scan line methods for displaying parametrically defined surfaces , 1988, CACM.

[13]  Michael L. V. Pitteway,et al.  Algorithm for drawing ellipses or hyperbolae with a digital plotter , 1967, Comput. J..

[14]  George Merrill Chaikin,et al.  An algorithm for high-speed curve generation , 1974, Comput. Graph. Image Process..

[15]  ShantzMichael,et al.  Adaptive forward differencing for rendering curves and surfaces , 1987 .