Method for triangle subdivision in computer graphics texture mapping to eliminate artifacts in high perspective polygons
First Claim
1. In a computer controlled graphics display system wherein objects are represented by data structures defining:
- the orientation and location of a plurality of polygons; and
texture data defining surface characteristics of said object, said data structures at least partially stored in computer memory prior to rendering on a display screen, a method for subdividing polygons having a high degree of perspective, said method comprising the steps of;
(a) selecting, from said computer memory, a selected polygon from said plurality of polygons that at least partially define a depiction of said object, said selected polygon comprising at least three vertices wherein each vertex has a perspective term, W, associated therewith that defines a display perspective of said associated vertex with respect to a given viewing angle;
(b) determining perspective ratios for each pair of adjacent vertices of said at least three vertices of said selected polygon;
(c) subdividing said selected polygon to generate a plurality of new polygons provided any of said perspective ratios exceeds a preselected perspective threshold amount; and
(d) rendering and displaying said selected polygon on a display screen of said computer controlled graphics display system provided none of said perspective ratios exceeds said preselected perspective threshold amount.
4 Assignments
0 Petitions
Accused Products
Abstract
The system and method of the present invention performs an iterative operation that subdivides selected polygons (e.g., triangles) having high perspective ratios into a plurality of smaller polygons to limit artifact creation during the rendering/texture map processes. The present invention is particularly well suited for interpolation driven rendering/texture map processes. Processing logic of the present invention analyzes each polygon stored in display list memory of a graphics accelerator or graphics subsystem and determines a perspective ratio between adjacent vertices of the polygon. If the perspective ratio is greater than a pre-selected limit, the edge bounded by the vertices is subdivided at the mid-point and new polygons are created. The process is iterative until all polygons have perspective ratios that are less than the pre-selected limit, at which time the object data can be displayed by the hardware. Perspective values (w) and three dimensional coordinates (x, y, z) for each created mid-point are calculated by averaging the perspective values at the vertices bounding the edge. Texture coordinates at the mid-point of a divided edge (umid, vmid) are calculated and then interpolated across the resulting polygon to determine the texels values of the image at each pixel within the boundary of the polygon. The present invention eliminates artifact creation when used with interpolation driven rendering/texture map processes that might otherwise not properly process polygons with large perspective.
34 Citations
20 Claims
-
1. In a computer controlled graphics display system wherein objects are represented by data structures defining:
- the orientation and location of a plurality of polygons; and
texture data defining surface characteristics of said object, said data structures at least partially stored in computer memory prior to rendering on a display screen, a method for subdividing polygons having a high degree of perspective, said method comprising the steps of;(a) selecting, from said computer memory, a selected polygon from said plurality of polygons that at least partially define a depiction of said object, said selected polygon comprising at least three vertices wherein each vertex has a perspective term, W, associated therewith that defines a display perspective of said associated vertex with respect to a given viewing angle; (b) determining perspective ratios for each pair of adjacent vertices of said at least three vertices of said selected polygon; (c) subdividing said selected polygon to generate a plurality of new polygons provided any of said perspective ratios exceeds a preselected perspective threshold amount; and (d) rendering and displaying said selected polygon on a display screen of said computer controlled graphics display system provided none of said perspective ratios exceeds said preselected perspective threshold amount. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- the orientation and location of a plurality of polygons; and
-
10. In a computer controlled graphics display system having a processor coupled to bus, and a graphics subsystem coupled to said bus, and wherein objects are represented by a plurality of polygons and texture data defining surface characteristics of object, a computer readable memory unit coupled to said bus and storing instructions therein that when executed causing said system to implement a method for subdividing polygons having a high degree of perspective, said method comprising the steps of:
-
(a) selecting, from said computer memory, a selected polygon from said plurality of polygons that at least partially define a depiction of said object, said selected polygon comprising at least three vertices wherein each vertex has a perspective term, W, associated therewith that defines a display perspective of said associated vertex with respect to a given viewing angle; (b) determining perspective ratios for each pair of adjacent vertices of said at least three vertices of said selected polygon; (c) subdividing said selected polygon to generate a plurality of new polygons provided any of said perspective ratios exceeds a preselected perspective threshold amount; and (d) rendering and displaying said selected polygon on a display screen of said computer controlled graphics display system provided none of said perspective ratios exceeds said preselected perspective threshold amount (e) repeating said steps (a)-(d) for each polygon of said plurality of polygons. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. In a computer controlled graphics display system wherein objects are represented by data structures defining a plurality of polygons and texture data defining surface characteristics of said object, a method for subdividing polygons having a high degree of perspective, said method comprising the steps of:
-
(a) selecting, from said computer memory, a selected polygon from said plurality of polygons, said selected polygon comprising at least three vertices wherein each vertex has a perspective term, W, associated therewith that defines a display perspective of said associated vertex with respect to a given viewing angle; (b) determining perspective ratios for each pair of adjacent vertices of said at least vertices of said selected polygon; (c) subdividing said selected polygon to generate a plurality of new polygons provided any of said perspective ratios exceeds a preselected perspective threshold amount, wherein said step (c) comprises the steps of; (c1) dividing said selected polygon into four new polygons provided three edges of said selected polygon have perspective ratios exceeding said preselected threshold amount; (c2) dividing said selected polygon into three new polygons provided only two edges of said selected polygon have perspective ratios exceeding said preselected threshold amount; and (c3) dividing said selected polygon into two new polygons provided only one edge of said selected polygon has a perspective ratio exceeding said preselected threshold amount; and (d) rendering and displaying said selected polygon on a display screen of said computer controlled graphics display system provided none of said perspective ratios exceeds said preselected perspective threshold amount. - View Dependent Claims (18, 19, 20)
-
Specification