← Back to Patent Explorer
EP0590765A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for the rendering of trimmed nurb surfaces

Assignee: Sun Microsystems Inc
•
Filing: 1993-07-28
•
Granted: —
•
Expires: 2013-07-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A unique graphics pipeline and method for utilizing the same to render trimmed 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. A compilation of the graphics primitive is first performed. 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. A key feature of the form produced by compilation is that it 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 traversal step. The traversal operation is split into two phases. The first phase is algorithmically complicated and requires a large amount of memory. Therefore it is advantageous to run the first phase on a general purpose computer system. The second phase is algorithmically simple and requires a limited amount of memory but it is floating point intensive and repetitive; therefore, it is preferred that the second phase is run on fast, dedicated processors such as floating point processors. However, as the primitive has been broken down into monotone v-regions, the burden of generating the image can be distributed among the processors for processing in parallel.

Inventors

  • 👤 Salim S. Abi-Ezzi
  • 👤 Srikanth Subramaniam

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-02 15:03
CPC Classifications
G; G06; G06T; G06T17/00; G06T17/20

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 236 words
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 the tessellation of graphic images comprising trimmed 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 DC space, said method comprising the steps of: compiling the trimmed NURBS surface into at least one patch comprising at least one v-region; 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 the 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 device coordinate 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.
Claim 2
Dependent Claim 108 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 1, wherein said step of compiling comprising the steps of: reducing the NURBS into at least one Bezier patch; dividing the trimming loops into monotone trimming chains per Bezier patch; and dividing each patch into at least one u-v monotone "v-region", each v-region formed by 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.
Claim 3
Dependent Claim 48 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 2, further comprising the step of 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.
Claim 4
Dependent Claim 70 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 3, wherein said step of traversing each v-region further comprises the step of superimposing a uniform grid of cells determined from the boundaries of the v-region and the uniform step size in u and v, wherein said step of tessellating each v-region comprises tessellating each row of cells into a plurality of triangles.
Claim 5
Dependent Claim 51 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 4, wherein each trimming chain comprises at least one segment, each segment identified by a coordinate in u,v and an indication whether the segment is increasing or decreasing in the u or v directions.
Claim 6
Dependent Claim 25 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 5, wherein each segment is a Bezier curve.
Claim 7
Dependent Claim 25 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 5, wherein each segment is a linear segment.
Claim 8
Dependent Claim 43 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 5, wherein said step of compiling further comprises the step of identifying the extreme vertices and intercept vertices at patch border crossings of the trimming chains.
Claim 9
Dependent Claim 71 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 8, wherein an extreme vertex is identified if a segment has an opposite u or v direction from a previous adjacent segment of the trimming chain or has a u/v extreme within itself if it is a Bezier curve, and a border vertex is identified at the location a segment crosses a patch boundary.
Claim 10
Dependent Claim 30 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 9, further comprising the step of classifying each vertex according to a type.
Claim 11
Dependent Claim 117 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 10, wherein the step of dividing each patch into at least one u-v monotone v-region comprises the step of: identifying at least one pair of intercept vertices on the left and right sides; identifying the beginning of an active v-region according to the identified intercept vertices on a top border; processing the remaining intercept vertices and extreme vertices in descending order according to the v coordinate value of the vertices, said step comprising inspecting the type of each vertex and forming the bottom and closure of active v-regions and the opening of new v-regions according to the type of vertex.
Claim 12
Dependent Claim 128 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 2, wherein the step of traversing each patch comprises the steps of: determining the derivative bounds of the curved surface to be tessellated and rendered; transforming the derivative bounds to a Lighting Coordinate (LC) Space in accordance with the norm of the transform from modeling coordinate (MC) space to LC space; transforming the control points to LC space in accordance with the transform from MC space to LC space; translating the tessellation criteria to LC space in accordance with the maximum scale of the viewing transformation from DC space to LC space; and determining the uniform step size in LC space using the derivative bounds, the control points and tessellation criteria.
Claim 13
Dependent Claim 50 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 1, wherein said step of compiling further comprising the step of providing gap avoidance information with each patch; said method further comprising the step of generating triangles to fill in gaps between patches.
Claim 14
Dependent Claim 60 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 13, wherein the step of generating triangles to fill in gaps between patches comprises the generation of an adjacency strip associated with a patch having the larger step size which adjusts the size of the triangles in the adjacency strip to remove gaps.
Claim 15
Dependent Claim 42 words
The method for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 13, wherein the step of generating triangles to fill in gaps between patches comprises the generation of stitching strip by adding triangles between the patches.
Claim 16
Dependent Claim 237 words
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 the tessellation of graphic images comprising trimmed 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; 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 the 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.
Claim 17
Dependent Claim 109 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 16, wherein said compiler comprises: means for reducing the NURBS into at least one Bezier patch, means for dividing the trimming loops into monotone trimming chains per Bezier patch; and means for dividing each patch into at least one u-v monotone v-region, each v-region formed by 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.
Claim 18
Dependent Claim 49 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 17 further comprising means for traversing each patch, comprising means for determining a uniform step size for each patch, said step size used to tessellate each patch into a plurality of triangles.
Claim 19
Dependent Claim 66 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 18, wherein said means for traversing each v-region further comprises a uniform grid of cells determined from the boundaries of the v-region and the uniform step size in u and v, wherein said means for tessellating comprises means for tessellating each row of cells into a plurality of triangles.
Claim 20
Dependent Claim 51 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 19, wherein each trimming chain comprises at least one segment, each segment identified by a coordinate in u,v and an indication whether the segment is increasing or decreasing in the u or v directions.
Claim 21
Dependent Claim 43 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 20, wherein said means for compiling further comprises means for identifying the extreme vertices and the intercept vertices at patch border crossings of the trimming chains.
Claim 22
Dependent Claim 58 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 21, wherein an extreme vertex is identified if a segment has an opposite u or v direction from a previous adjacent segment of the trimming chain and a border vertex is identified at the location a segment crosses a patch boundary.
Claim 23
Dependent Claim 30 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 22, further comprising a means for classifying each vertex according to a type.
Claim 24
Dependent Claim 120 words
The apparatus for the tessellation of graphic images comprising trimmed NURBS surfaces as set forth in claim 23, wherein the means for dividing each patch into at least one u-v monotone v-region comprises: means for identifying at least one pair of intercept vertices on the left and right sides; means for identifying the beginning of an active v-region according to the identified intercept vertices on the top border; means for processing the remaining intercept vertices and extreme vertices in descending order according to the v coordinate value of the vertices, said step comprising determining the type of each vertex and forming the bottom and closure of active v-regions and the opening of new v-regions according to the type of vertex.
Claim 25
Dependent Claim 384 words
A computer system for the tessellation of graphic images comprising trimmed 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 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 the trimming loops into monotone trimming chains 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 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 the 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.
Claim 26
Dependent Claim 83 words
The apparatus as set forth in claim 25, wherein said graphics processing subsystem comprises: at least one floating point processing unit for generating triangles in accordance with the uniform step size, lighting the triangles in accordance with light sources defined for the graphic image to be rendered and transforming the polygon to DC space from LC space; and at least one dedicated graphics processor coupled to the floating point processor for receiving transformed polygons and for generating pixel data for each polygon received.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag