Method and apparatus for the rendering of trimmed nurb surfaces
First Claim
1. In a computer system comprising a central processing unit (CPU), memory and input/output devices including a graphic display controller coupled to a graphic display device, a method for tessellating graphic images comprising trimmed non-uniform rationale b-spline (NURBS) surfaces for rendering on the graphic display device, each trimmed NURBS having a first set of control points defining the surface and a second set of control points defining at least one trimming loop through the surface, said control points being defined in a Model Coordinate (MC) space, said graphic display device defined according to device coordinate (DC) space, said method comprising the steps of:
- compiling the trimmed NURBS surface into at least one patch comprising at least one v-region, each v-region formed by boundaries including a top base, bottom base, left side and right side, said top and bottom base defined by isoparametric lines along a u axis and said right and left sides defined by u, v monotone lines;
traversing each v-region, comprising the steps of;
tessellating each v-region into a plurality of triangles,generating pixel data representative of each triangle, each pixel data specifying an intensity of the pixel to be displayed on the graphic display device, andstoring each pixel data in a frame buffer, each pixel data being stored at a location in the frame buffer corresponding to the location of the pixel in the DC space; and
said graphic display controller reading the pixel data stored in the frame buffer and generating control signals to actuate the pixels on the graphic display device at the location and intensity indicated by the pixel data;
wherein trimmed NURBS surfaces are generated and displayed on the graphics display device.
1 Assignment
0 Petitions
Accused Products
Abstract
A unique graphics pipeline and method for utilizing the same to render trimmed non-uniform rational b-spline (NURBS) surfaces is described. To render a graphics primitive such as a trimmed NURBS, the primitive first is processed through a compilation step, followed by a two phase traversal step and a display step. Through this process, the NURBS surface is reduced at creation time into a form amenable for fast processing subsequently during traversal. At compilation the trimmed NURBS is broken down into monotone v-regions which remain valid for subsequent views and renderings. The form produced by compilation is independent of the tessellation step size; therefore the form remains valid under heavy changes to modeling and/or viewing transformations. Furthermore, a substantial portion of the processing complexity for rendering the primitive is absorbed at compilation, thus minimizing the complexity of tessellation at traversal. Once the graphic primitive is processed through the compilation step, the primitive is processed through the two phase traversal step. The two phases may be processed in parallel.
70 Citations
26 Claims
-
1. In a computer system comprising a central processing unit (CPU), memory and input/output devices including a graphic display controller coupled to a graphic display device, a method for tessellating graphic images comprising trimmed non-uniform rationale b-spline (NURBS) surfaces for rendering on the graphic display device, each trimmed NURBS having a first set of control points defining the surface and a second set of control points defining at least one trimming loop through the surface, said control points being defined in a Model Coordinate (MC) space, said graphic display device defined according to device coordinate (DC) space, said method comprising the steps of:
-
compiling the trimmed NURBS surface into at least one patch comprising at least one v-region, each v-region formed by boundaries including a top base, bottom base, left side and right side, said top and bottom base defined by isoparametric lines along a u axis and said right and left sides defined by u, v monotone lines; traversing each v-region, comprising the steps of; tessellating each v-region into a plurality of triangles, generating pixel data representative of each triangle, each pixel data specifying an intensity of the pixel to be displayed on the graphic display device, and storing each pixel data in a frame buffer, each pixel data being stored at a location in the frame buffer corresponding to the location of the pixel in the DC space; and said graphic display controller reading the pixel data stored in the frame buffer and generating control signals to actuate the pixels on the graphic display device at the location and intensity indicated by the pixel data; wherein trimmed NURBS surfaces are generated and displayed on the graphics display device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a computer system comprising a central processing unit (CPU), memory and input/output devices including a graphic display controller coupled to a graphic display device, an apparatus for tessellating graphic images comprising trimmed non-uniform rationale b-spline (NURBS) surfaces for rendering on the graphic display device, each trimmed NURBS having a first set of control points defining the surface and a second set of control points defining at least one trimming loop through the surface, said control points being defined in a Model Coordinate (MC) space, said graphic display device defined according to Device Coordinate (DC) space, said apparatus comprising:
-
a compiler for compiling the trimmed NURBS into at least one patch comprising at least one u-v monotone v-region, each v-region formed by boundaries including a top base, bottom base, left side and right side, said top and bottom base defined by isoparametric lines along a u axis and said right and left sides defined by u, v monotone lines; means for traversing each v-region, comprising; means for tessellating each v-region into a plurality of triangles, and means for generating pixel data representative of each triangle, each pixel data specifying an intensity of the pixel to be displayed on the graphic display device; and a frame buffer memory coupled to the means for generating pixel data for storing each pixel data at a location corresponding to the location of the pixel in the device coordinate space; said graphic display controller reading the pixel data stored in the frame buffer and generating control signals to actuate the pixels at the location and intensity indicated by the pixel data; wherein trimmed NURBS surfaces are generated and displayed on the graphics display device. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer system for tessellating graphic images comprising trimmed non-uniform rationale b-spline (NURBS) surfaces for rendering a graphic image on a graphic display device, each trimmed NURBS having a first set of control points defining the surface and a second set of control points defining at least one trimming loop through the surface, said control points being defined in a Model Coordinate (MC) space, said graphic display device defined according to Device Coordinate (DC) space, said apparatus comprising:
-
a host processor, said host processor, compiling the trimmed NURBS surface into at least one patch comprising at least one v-region by reducing the NURBS into at least one Bezier patch, dividing each trimming loop into a monotone trimming chain according to the patch the portion of the trimming loop delimits, and dividing each patch into at least one u-v monotone v-region, each v-region formed by boundaries including a top base, bottom base, left side and right side, said top and bottom base defined by isoparametric lines along the u axis and said right and left sides defined by u, v monotone lines delineated by a trimming chain or a border of the patch, and traversing each patch, by determining a uniform step size for each patch, said step size used to tessellate each patch into a plurality of triangles; a graphics processing subsystem coupled to the host processor, said graphics processing subsystem superimposing a uniform grid of cells determined from the boundaries of the v-region and the uniform step size in u and v, tessellating each row of cells into a plurality of triangles, generating pixel data representative of each triangle, each pixel data specifying an intensity of the pixel to be displayed on the graphic display device; and a frame buffer coupled to the graphics processing subsystem, for storing each pixel data in a frame buffer, each pixel data being stored at a location in the frame buffer corresponding to the location of the pixel in the device coordinate space; and a graphic display controller coupled to the frame buffer and the graphic display device for reading the pixel data stored in the frame buffer and generating control signals to actuate the pixels on the graphic display device at the location and intensity indicated by the pixel data; wherein trimmed NURBS surfaces are generated and displayed on the graphics display device. - View Dependent Claims (26)
-
Specification