Parametric surface evaluation method and apparatus for a computer graphics display system
First Claim
1. A method of converting NURBS data representative of a parametric surface into geometric coordinates and associated surface normal vectors of vertices of polygons for subsequent rendering on the screen of a computer graphics display system, the surface having one edge extending along a u parametric coordinate for Nu-ku+1successive u spans where Nu is the dimension and ku is the order along the u coordinate and a second edge extending along an orthogonal v parametric coordinate for Nv-kv+1 successive v span where Nv is the dimension and kv is the order along the v coordinate, the general geometry of the surface being defined by a matrix of Nv rows of Nu columns of control points, comprising the steps of:
- (a) placing steps of view coordinates for the first kv successive rows of Nu control points of said matrix into a control point stack having kv rows and Nu columns so that the stack contains all of the control points for an initial v span;
(b) converting the view coordinates to homogeneous coordinates and evaluating the b-spline function of sets of coordinates in each column of said stack for an initial v parameter point and a successive v parameter point to obtain a series of Nu bottom coordinates and Nu bottom v derivatives, and a series of Nu top coordinates and Nu top v derivatives, respectively, for a first strip extending fully across the surface along the u coordinate and bounded in the v coordinate by said initial v parameter point and said successive v parameter point;
(c) evaluating the b-spline functions of the top coordinates, top v derivatives, bottom coordinates and bottom v derivatives at successive u parameter points for each successive u span of the first strip to obtain values for the u dependence of the top and bottom coordinates, for the top and bottom u derivatives and for the u dependence of the top and bottom v derivatives for each of said successive u parameter points;
(d) converting the values obtained from the preceding evaluation step into a set of geometric coordinates and a vertex normal for a top point and a bottom point of said strip for each u parameter point, the top and bottom points for each u parameter point in conjunction with the top and bottom points for an immediately succeeding u parameter point defining a 4-sided polygon to be subsequently rendered; and
(e) repeating steps (b)-(d) for additional successive v parameter points of said initial v span, and repeating steps (a)-(d) for successive v spans of the surface; and
(f) generating a shaded image of said polygons from the geometric coordinates and surface normal vectors of the points defining said polygons to render said surface on said screen.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for evaluating and rendering parametric surfaces. The apparatus includes a system memory connected to a graphics control processor, which is connected to local memory, and then connected in a pipelined arrangement to a plurality of parallel floating point processors, another floating point processor, a clipping processor and a frame buffer. The method includes: reading data from system memory and storing said data in local memory and/or registers within the graphics control processor; defining a control point stack containing kv by Nu transformed control points; multiplying the control points by a corresponding weight; evaluating the v dependence of homogeneous coordinates (wx,wy,wz,w) for successive parameter points separated by a v parameter interval; simultaneously within each parallel floating point processor evaluating the b-spline functions for one component of the coordinate set (wx,wy,wz,w) at successive u parameter points to obtain a top and bottom u coordinate, a top and bottom u derivative, and a top and bottom v derivative; eliminating the weight from each said coordinate yielding the geometric coordinates, and using the corresponding u and v derivatives to determine the geometric u and v tangents for a top and bottom point of an associated u value and therefrom the normal vector; clipping the polygon to the current viewing boundaries; and producing the shaded images of the polygon.
85 Citations
25 Claims
-
1. A method of converting NURBS data representative of a parametric surface into geometric coordinates and associated surface normal vectors of vertices of polygons for subsequent rendering on the screen of a computer graphics display system, the surface having one edge extending along a u parametric coordinate for Nu-ku+1successive u spans where Nu is the dimension and ku is the order along the u coordinate and a second edge extending along an orthogonal v parametric coordinate for Nv-kv+1 successive v span where Nv is the dimension and kv is the order along the v coordinate, the general geometry of the surface being defined by a matrix of Nv rows of Nu columns of control points, comprising the steps of:
-
(a) placing steps of view coordinates for the first kv successive rows of Nu control points of said matrix into a control point stack having kv rows and Nu columns so that the stack contains all of the control points for an initial v span; (b) converting the view coordinates to homogeneous coordinates and evaluating the b-spline function of sets of coordinates in each column of said stack for an initial v parameter point and a successive v parameter point to obtain a series of Nu bottom coordinates and Nu bottom v derivatives, and a series of Nu top coordinates and Nu top v derivatives, respectively, for a first strip extending fully across the surface along the u coordinate and bounded in the v coordinate by said initial v parameter point and said successive v parameter point; (c) evaluating the b-spline functions of the top coordinates, top v derivatives, bottom coordinates and bottom v derivatives at successive u parameter points for each successive u span of the first strip to obtain values for the u dependence of the top and bottom coordinates, for the top and bottom u derivatives and for the u dependence of the top and bottom v derivatives for each of said successive u parameter points; (d) converting the values obtained from the preceding evaluation step into a set of geometric coordinates and a vertex normal for a top point and a bottom point of said strip for each u parameter point, the top and bottom points for each u parameter point in conjunction with the top and bottom points for an immediately succeeding u parameter point defining a 4-sided polygon to be subsequently rendered; and (e) repeating steps (b)-(d) for additional successive v parameter points of said initial v span, and repeating steps (a)-(d) for successive v spans of the surface; and (f) generating a shaded image of said polygons from the geometric coordinates and surface normal vectors of the points defining said polygons to render said surface on said screen. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of converting NURBS data representative of a parametric surface to geometric coordinates and associated surface normal vectors of vertices of polygons for subsequent rendering on the screen of a computer graphics display system, the surface having one edge extending along a u parametric coordinate for an Nu-ku+1 plurality of successive u spans where Nu is the dimension and ku is the order along the u coordinate and a second edge extending along an orthogonal v parametric coordinate for an Nv-kv+1plurality of successive v spans where Nv is the dimension and kv is the order along the v coordinate, the u spans and v spans dividing the surface into a number of patches each of which is define by a different polynomial function, comprising the steps of:
-
tessellating the surface into successive parallel strips, each strip having a bottom edge located at a bottom v parameter value and a top edge located at a top v parameter value, said edges extending along the u coordinate fully across the surface, the top edge of a strip being coincident with the bottom edge of the immediately succeeding strip, each v span comprising multiple such strips; tessellating each u span of each strip at successive u parameter values to determine a pair of points, one on the top edge and the other on the bottom edge of the strip, associated with each of said u parameter values, each strip of said surface being tessellated at the same u parameter values; determining through b-spline evaluation, using at least one polynomial function corresponding to each of said successive u spans, the geometric coordinates and surface normal vector for each point of each pair, each pair of points of a strip and the immediately succeeding pair of points of the strip defining the vertices of a polygon; and generating a shaded image of said polygons from the geometric coordinates and surface normal vectors of the points defining the vertices of said polygons to render said surface on said screen. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. Apparatus for converting NURBS data representative of a parametric surface into geometric coordinates and associated surface normal vectors of vertices of polygons for subsequent rendering on the screen of a computer graphics display system, the surface having one edge extending along a u parametric coordinate for Nu-ku+1successive u spans where Nu is the dimension and ku is the order along the u coordinate and a second edge extending along an orthogonal v parametric coordinate for Nv-kv+1 successive v spans where Nv is the dimension and kv is the order along the v coordinate, the general geometry of the surface being defined by a matrix of Nv rows of Nu columns of control points, comprising:
-
first memory means for storing NURBS data representative of a parametric surface to be rendered, said data including a set of modelling coordinates and an associated weight w for each control point of the matrix; graphics control processor means for transforming the control points modelling coordinates to view coordinates, converting the transforming coordinates to homogeneous coordinates, and evaluating the b-spline function of said homogeneous coordinates at successive v parameter values to obtain top coordinates and top v derivatives for a current v parameter value and bottom coordinates and bottom v derivatives for an immediately preceding v parameter value; a plurality of parallel floating point processors for receiving data and commands from said graphics control processor means and simultaneously evaluating the b-spline functions of the top and bottom coordinates and top and bottom v derivatives, at successive u parameter values, on a per coordinate basis, to obtain values for the u dependence of the top and bottom coordinates, the top and bottom u derivatives and the top and bottom u dependence on the top v derivatives for each of said successive u parameter values; and a further floating point processor for receiving the values obtained by said parallel floating point processors and converting said values into a set of geometric coordinates and a vertex normal for vertices of polygons to be rendered. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification