Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
350 words
A method for producing a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in real time with hidden lines eliminated or displayed in a line style different from that of visible lines in a graphics display system which comprises a depth buffer holding a depth value for any given pixel, a frame buffer which stores a pixel color value for each pixel for display corresponding to each said depth value, and a display screen, each buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a chosen view point, said method comprising the steps of: (a) masking said frame buffer to prevent any color values from being written thereto; (b) scanconverting the faces of the object to obtain a depth value for each pixel covered by a projection of the object; (c) during said scanconverting step, performing a depth buffer test wherein the depth buffer is updated with the obtained depth value for a given pixel storage location only when the obtained depth value is smaller than a depth value previously stored at said given pixel storage location in the depth buffer; (d) unmasking said frame buffer; (e) altering a location at which display will take place from said first location to a second location that is a distance in front of visible faces of the object at said first location in relation to the chosen view point; (f) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said distance in front of visible faces of the object in relation to said chosen viewpoint; and (g) displaying the tessellation edges of the object on the display screen.
Claim 2
Independent Claim
350 words
A method for producing a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in real time with hidden lines eliminated or displayed in a line style different from that of visible lines in a graphics display system which comprises a depth buffer holding a depth value for any given pixel, a frame buffer which stores a pixel color value for each pixel for display corresponding to each said depth value, and a display screen, each buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a chosen view point, said method comprising the steps of: (a) masking said frame buffer to prevent any color values from being written thereto; (b) scanconverting the faces of the object to obtain a depth value for each pixel covered by a projection of the object; (c) during said scanconverting step, performing a depth buffer test wherein the depth buffer is updated with the obtained depth value for a given pixel storage location only when the obtained depth value is smaller than a depth value previously stored at said given pixel storage location in the depth buffer; (d) unmasking said frame buffer; (e) altering a location at which display will take place from said first location to a second location that is a distance in front of visible faces of the object at said first location in relation to the chosen view point; (f) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said distance in front of visible faces of the object in relation to said chosen viewpoint; and (g) displaying the tessellation edges of the object on the display screen.
Claim 3
Dependent Claim
101 words
The method as set forth in claim 1, wherein said graphics display system further includes a viewing matrix mapped with depth translation coordinates, and wherein said distance is subtracted from said depth translation coordinates in the viewing matrix and is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point, a number of bits allotted for each pixel in the depth buffer, and a predetermined number for preventing an equal depth value for a face and an adjacent edge, said number compensating for rounding errors during scanconversion.
Claim 4
Dependent Claim
106 words
The method as set forth in claim 2, wherein said distance is derived from said epsilon-based transformation as follows: distance=(Z.sub.max -Z.sub.min)/2.sup.(n-1) where Z max is the depth value in integer form of the farthest vertex of the object in relation to the viewpoint, Z min is the depth value in integer form of the closest vertex of the object in relation to the viewpoint, n is the number of bits allotted for each pixel in the depth buffer, and the "2 -1 " value prevents said equal depth value of an interior of said face and said adjacent edge caused by rounding depth values during scanconversion.
Claim 5
Dependent Claim
38 words
The method as set forth in claim 1, wherein, said tessellated three-dimensional object comprises a plurality of tessellated three-dimensional objects, wherein each step is performed for all of said plurality of objects prior to performing the next step.
Claim 6
Dependent Claim
121 words
The method as set forth in claim 1, wherein said hidden lines are displayed in a line style different from that of visible lines, said method further comprising the following steps performed prior to step (a): turning the depth buffer test off; choosing a line style desired for hidden lines; updating the frame buffer with color values for all tessellation edges of the object; displaying all tessellation edges of the object on the display screen in said line style chosen for hidden lines; choosing a line style desired for visible lines that is different from that chosen for hidden lines, wherein step (g) comprises displaying in said line style chosen for visible lines; and turning the depth buffer test back on.
Claim 7
Dependent Claim
38 words
The method as set forth in claim 5, wherein said tessellated three-dimensional object comprises a plurality of tessellated three-dimensional objects, wherein each step is performed for all of said plurality of objects prior to performing the next step.
Claim 8
Dependent Claim
77 words
The method as set forth in claim 1, wherein said graphics display system further includes a viewing matrix mapped with depth translation coordinates, and wherein said distance is subtracted from said depth translation coordinates in the viewing matrix and is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point and a number of bits allotted for each pixel in the depth buffer.
Claim 9
Dependent Claim
75 words
The method as set forth in claim 7, wherein said distance is derived from said epsilon-based transformation as follows: distance=(Z.sub.max -Z.sub.min)/2.sup.n where Z max is the depth value of the farthest vertex of the object in relation to the view point, Z min is the depth value of the closest vertex of the object in relation to the view point and n is the number of bits allotted for each pixel in the depth buffer.
Claim 10
Independent Claim
420 words
A method for producing a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in real time showing only visible silhouette and intersection edges in a graphics display system which comprises a depth buffer holding a depth value for any given pixel, a frame buffer which stores a pixel color value for each pixel for display corresponding to each said depth value, and a display screen, each buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a chosen view point, said method comprising the steps of: (a) masking said frame buffer; (b) scanconverting the faces of the object to obtain a depth value for each pixel covered by a projection of the object; (c) during the scanconversion of step (b), performing a depth buffer test wherein the depth buffer is updated with the obtained depth value for a given pixel storage location only when the obtained depth value is smaller than a depth value previously stored at said appropriate pixel storage location in the depth buffer; (d) unmasking said frame buffer; (e) altering a location at which display will take place from said first location to a second location that is a distance behind visible faces of the object at said first location in relation to the chosen view point; (f) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said distance back from visible faces of the object in relation to the viewpoint; (g) displaying the tessellation edges of the object on the display screen in a first line thickness; (h) altering the location at which display will take place from said second location to a third location that is a distance in front of the visible faces of the object at said first location in relation to the view point; (i) performing said depth buffer test and updating the frame buffer with color values for all intersection edges of the object at said third location; and (j) displaying said visible silhouette and intersection edges in a second line thickness thicker than said first line thickness.
Claim 11
Independent Claim
420 words
A method for producing a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in real time showing only visible silhouette and intersection edges in a graphics display system which comprises a depth buffer holding a depth value for any given pixel, a frame buffer which stores a pixel color value for each pixel for display corresponding to each said depth value, and a display screen, each buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a chosen view point, said method comprising the steps of: (a) masking said frame buffer; (b) scanconverting the faces of the object to obtain a depth value for each pixel covered by a projection of the object; (c) during the scanconversion of step (b), performing a depth buffer test wherein the depth buffer is updated with the obtained depth value for a given pixel storage location only when the obtained depth value is smaller than a depth value previously stored at said appropriate pixel storage location in the depth buffer; (d) unmasking said frame buffer; (e) altering a location at which display will take place from said first location to a second location that is a distance behind visible faces of the object at said first location in relation to the chosen view point; (f) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said distance back from visible faces of the object in relation to the viewpoint; (g) displaying the tessellation edges of the object on the display screen in a first line thickness; (h) altering the location at which display will take place from said second location to a third location that is a distance in front of the visible faces of the object at said first location in relation to the view point; (i) performing said depth buffer test and updating the frame buffer with color values for all intersection edges of the object at said third location; and (j) displaying said visible silhouette and intersection edges in a second line thickness thicker than said first line thickness.
Claim 12
Dependent Claim
110 words
The method as set forth in claim 9, wherein said graphics display system further includes a viewing matrix mapped with depth translation coordinates, and wherein said distance is added to said depth translation coordinates in the viewing matrix in step (e) and twice subtracted in step (h), and is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point, a number of bits allotted for each pixel in the depth buffer, and a predetermined number for preventing an equal depth value for a face and an adjacent edge, said number compensating for rounding errors during scanconversion.
Claim 13
Dependent Claim
107 words
The method as set forth in claim 10, wherein said distance is derived from said epsilon-based transformation as follows: distance=(Z.sub.max -Z.sub.min)/2.sup.(n-1) where Z max is the depth value in integer form of the farthest vertex of the object in relation to the viewpoint, Z min is the depth value in integer form of the closest vertex of the object in relation to the viewpoint, and n is the number of bits allotted for each pixel in the depth buffer, and the "2 -1 " value prevents an equal depth value of an interior of said face and said adjacent edge caused by rounding depth values during scanconversion.
Claim 14
Dependent Claim
39 words
The method as set forth in claim 9, wherein said tessellated three-dimensional object comprises a plurality of tessellated three-dimensional objects, and wherein each step is performed for all of said plurality of objects prior to performing the next step.
Claim 15
Dependent Claim
86 words
The method as set forth in claim 9, wherein said graphics display system further includes a viewing matrix mapped with depth translation coordinates, and wherein said distance is subtracted from said depth translation coordinates in the viewing matrix in step (e) and twice subtracted in step (h), and is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point and a number of bits allotted for each pixel in the depth buffer.
Claim 16
Dependent Claim
75 words
The method as set forth in claim 13, wherein said distance is derived from said epsilon-based transformation as follows: distance=(Z.sub.max -Z.sub.min)/2.sup.n where Z max is the depth value of the farthest vertex of the object in relation to the view point, Z min is the depth value of the closest vertex of the object in relation to the view point and n is the number of bits allotted for each pixel in the depth buffer.
Claim 17
Independent Claim
660 words
A method for producing a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in real time showing visible silhouette and intersection edges in one line style and hidden silhouette and intersection edges in a different line style in a graphics display system which comprises a depth buffer holding a depth value for any given pixel, a frame buffer which stores a pixel color value for each pixel for display corresponding to each said depth value, and a display screen, each buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a chosen view point, said method comprising the steps of: (a) choosing a line style desired for hidden lines; (b) masking said frame buffer; (c) scanconverting the faces of the object to obtain a depth value for each pixel covered by a projection of the object; (d) during said scanconverting of step (c), performing a depth buffer test wherein the depth buffer is updated with the obtained depth value for a given pixel storage location only when the obtained depth value is smaller than a depth value previously stored at said pixel storage location in the depth buffer; (e) unmasking said frame buffer; (f) altering a location at which display will take place from said first location to a second location that is a distance behind visible faces of the object at said first location in relation to the chosen view point; (g) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said second location; (h) displaying the tessellation edges of the object in said hidden line style on the display screen in a first line thickness; (i) setting all storage locations in the depth buffer to values corresponding to a farthest position possible in relation to the viewpoint; (j) altering the location at which display will take place to said first location; (k) performing said depth buffer test and updating the frame buffer with color values for all intersection edges of the object; (l) displaying the intersection edges of the object in said hidden line style on the display screen in a second line thickness thinner than said first line thickness; (m) choosing a line style desired for visible lines that is different from that chosen for hidden lines; (n) masking said frame buffer; (o) scanconverting the faces of the object to obtain a depth value for each pixel covered by the projection of the object; (p) during the scanconversion of step (o), performing said depth buffer test; (q) unmasking said frame buffer; (r) altering the location for display to said second location; (s) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said distance back from the visible faces of the object in relation to the viewpoint; (t) displaying the tessellation edges of the object in said visible line style on the display screen in said first line thickness; (u) altering the location for display to a third location that is a distance in front of the visible faces of the object at said first location in relation to the view point; (v) performing said depth buffer test and updating the frame buffer with color values for all intersection edges of the object at said distance in front of the visible faces of the object in relation to the viewpoint; and (w) displaying the intersection edges of the object in said visible line style on the display screen in said second line thickness.
Claim 18
Independent Claim
660 words
A method for producing a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in real time showing visible silhouette and intersection edges in one line style and hidden silhouette and intersection edges in a different line style in a graphics display system which comprises a depth buffer holding a depth value for any given pixel, a frame buffer which stores a pixel color value for each pixel for display corresponding to each said depth value, and a display screen, each buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a chosen view point, said method comprising the steps of: (a) choosing a line style desired for hidden lines; (b) masking said frame buffer; (c) scanconverting the faces of the object to obtain a depth value for each pixel covered by a projection of the object; (d) during said scanconverting of step (c), performing a depth buffer test wherein the depth buffer is updated with the obtained depth value for a given pixel storage location only when the obtained depth value is smaller than a depth value previously stored at said pixel storage location in the depth buffer; (e) unmasking said frame buffer; (f) altering a location at which display will take place from said first location to a second location that is a distance behind visible faces of the object at said first location in relation to the chosen view point; (g) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said second location; (h) displaying the tessellation edges of the object in said hidden line style on the display screen in a first line thickness; (i) setting all storage locations in the depth buffer to values corresponding to a farthest position possible in relation to the viewpoint; (j) altering the location at which display will take place to said first location; (k) performing said depth buffer test and updating the frame buffer with color values for all intersection edges of the object; (l) displaying the intersection edges of the object in said hidden line style on the display screen in a second line thickness thinner than said first line thickness; (m) choosing a line style desired for visible lines that is different from that chosen for hidden lines; (n) masking said frame buffer; (o) scanconverting the faces of the object to obtain a depth value for each pixel covered by the projection of the object; (p) during the scanconversion of step (o), performing said depth buffer test; (q) unmasking said frame buffer; (r) altering the location for display to said second location; (s) performing said depth buffer test and updating the frame buffer with color values for all tessellation edges of the object at said distance back from the visible faces of the object in relation to the viewpoint; (t) displaying the tessellation edges of the object in said visible line style on the display screen in said first line thickness; (u) altering the location for display to a third location that is a distance in front of the visible faces of the object at said first location in relation to the view point; (v) performing said depth buffer test and updating the frame buffer with color values for all intersection edges of the object at said distance in front of the visible faces of the object in relation to the viewpoint; and (w) displaying the intersection edges of the object in said visible line style on the display screen in said second line thickness.
Claim 19
Dependent Claim
125 words
The method as set forth in claim 15, wherein said graphics display system further includes a viewing matrix mapped with depth translation coordinates, and wherein said distance is added to said depth translation coordinates in the viewing matrix in step (f), then subtracted in step (j), again added in step (r), and twice subtracted from the depth translation coordinates in step (u), and is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point, a number of bits allotted for each pixel in the depth buffer, and a predetermined number for preventing an equal depth value for a face and an adjacent edge, said number compensating for rounding errors during scanconversion.
Claim 20
Dependent Claim
106 words
The method as set forth in claim 16, wherein said distance is derived from said epsilon-based transformation as follows: distance=(Z.sub.max -Z.sub.min)/2.sup.(n-1) where Z max is the depth value in integer form of the farthest vertex of the object in relation to the viewpoint, Z min is the depth value in integer form of the closest vertex of the object in relation to the viewpoint, n is the number of bits allotted for each pixel in the depth buffer, and the "2 -1 " value prevents said equal depth value of an interior of said face and said adjacent edge caused by rounding depth values during scanconversion.
Claim 21
Dependent Claim
61 words
The method as set forth in claim 15, wherein said tessellated three-dimensional object comprises a plurality of tessellated three-dimensional objects, wherein steps (b) through (j) are practiced in turn for each of said plurality of objects alone, and wherein steps (a) and (k) through (w) are each performed for all of said plurality of objects prior to performing the next step.
Claim 22
Dependent Claim
95 words
The method as set forth in claim 15, wherein said graphics display system further includes a viewing matrix mapped with depth translation coordinates, and wherein said distance is added to said depth translation coordinates in the viewing matrix in step (f), subtracted in step (j), again added in step (r) and twice subtracted in step (u), and is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point and a number of bits allotted for each pixel in the depth buffer.
Claim 23
Dependent Claim
75 words
The method as set forth in claim 19, wherein said distance is derived from said epsilon-based transformation as follows: distance=(Z.sub.max -Z.sub.min)/2.sup.n where Z max is the depth value of the farthest vertex of the object in relation to the view point, Z max is the depth value of the closest vertex of the object in relation to the view point and n is the number of bits allotted for each pixel in the depth buffer.
Claim 24
Independent Claim
266 words
A method for distinguishing between visible and hidden lines in a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in a graphics display system comprising a display screen, and a depth buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a particular view point, said method comprising the steps of: obtaining a depth value for each pixel covered by a projection of the object; replacing a depth value previously stored in a given pixel location in the depth buffer with the depth value obtained in said step of obtaining if the depth value obtained is less than the depth value previously stored; altering a position at which display will take place from said first location to a second location which is closer to the viewpoint by subtracting a distance from depth translation coordinates in a viewing matrix within said graphics display system, wherein said distance is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point and a number of bits allotted for each pixel in the depth buffer; and displaying tessellation lines of the object at the altered position.
Claim 25
Independent Claim
266 words
A method for distinguishing between visible and hidden lines in a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in a graphics display system comprising a display screen, and a depth buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen view point, wherein a first location for display is set in relation to a particular view point, said method comprising the steps of: obtaining a depth value for each pixel covered by a projection of the object; replacing a depth value previously stored in a given pixel location in the depth buffer with the depth value obtained in said step of obtaining if the depth value obtained is less than the depth value previously stored; altering a position at which display will take place from said first location to a second location which is closer to the viewpoint by subtracting a distance from depth translation coordinates in a viewing matrix within said graphics display system, wherein said distance is determined by an epsilon-based transformation operating on depth values of a farthest and closest vertex of the object in relation to the view point and a number of bits allotted for each pixel in the depth buffer; and displaying tessellation lines of the object at the altered position.
Claim 26
Independent Claim
250 words
A method for distinguishing silhouette edges from other tessellation edges that are not silhouette edges in a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in a graphics display system comprising a display screen, and a depth buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen viewpoint, wherein a first location for display is set in relation to a particular view point, said method comprising the steps of: obtaining a depth value for each pixel covered by a projection of the object; replacing a depth value previously stored in a given pixel location in the depth buffer with the depth value obtained in said step of obtaining if the depth value obtained is less than the depth value previously stored; altering a line thickness that the system will use for display to obtain a thicker line than that normally used in the display system; altering a position at which display will take place from said first location to a second location which is farther than the first location from the viewpoint; and performing said step of replacing again and displaying all pixels relating to the object with a replaced depth value.
Claim 27
Independent Claim
250 words
A method for distinguishing silhouette edges from other tessellation edges that are not silhouette edges in a two-dimensional wire-frame graphics display of a tessellated three-dimensional object in a graphics display system comprising a display screen, and a depth buffer containing a storage location for each pixel on said display screen, said display being produced from surface data representing vertices of a set of polygons defining faces of the three-dimensional object, said surface data being transformed into data representing a two-dimensional projection of the object onto a view plane, said graphics display system allowing for a plurality of object locations at different distances from a chosen viewpoint, wherein a first location for display is set in relation to a particular view point, said method comprising the steps of: obtaining a depth value for each pixel covered by a projection of the object; replacing a depth value previously stored in a given pixel location in the depth buffer with the depth value obtained in said step of obtaining if the depth value obtained is less than the depth value previously stored; altering a line thickness that the system will use for display to obtain a thicker line than that normally used in the display system; altering a position at which display will take place from said first location to a second location which is farther than the first location from the viewpoint; and performing said step of replacing again and displaying all pixels relating to the object with a replaced depth value.