Interpolating sample values from known triangle vertex values
First Claim
1. A rendering unit comprising:
- sample position generation logic configured to generate sample positions in a two-dimensional screen space;
sample testing logic configured to receive graphics data including three vertices defining a triangle and to determine which of said sample positions reside inside the triangle;
sample ordinate generation logic coupled to the sample position generation logic and the sample testing logic, wherein the sample ordinate generation logic is configured to compute a first axial rate of change of a first ordinate based on the three vertices, and, for each sample position residing inside the triangle, (a) to multiply the first axial rate by a first sample displacement resulting in a first product, (b) to interpolate a first projection value for a projection point on a first edge of the triangle, and (c) to add the first product to the first projection value resulting in a first sample ordinate value, wherein the first sample ordinate value is usable to determine at least a portion of a displayable image.
2 Assignments
0 Petitions
Accused Products
Abstract
A graphics system comprises a rendering unit, a sample buffer and a sample-to-pixel calculation unit. The rendering unit receives graphics data specifying three triangle vertices, generates sample positions, and determines which samples reside inside the triangle. The rendering unit computes an axial rate of change of an ordinate based on the positions and ordinates of the vertices, and, for each sample residing inside the triangle, (a) multiplies the axial rate by a edge-relative sample displacement resulting in a first product, (b) interpolates a projection value for a projection point on a first edge of the triangle, and (c) adds the first product to the projection value resulting in a sample ordinate value. The sample buffer stores the sample ordinate value the samples inside the triangle. The sample-to-pixel calculation unit reads sample ordinate values from the sample buffer and generates a pixel value by filtering the sample ordinate values
-
Citations
41 Claims
-
1. A rendering unit comprising:
-
sample position generation logic configured to generate sample positions in a two-dimensional screen space;
sample testing logic configured to receive graphics data including three vertices defining a triangle and to determine which of said sample positions reside inside the triangle;
sample ordinate generation logic coupled to the sample position generation logic and the sample testing logic, wherein the sample ordinate generation logic is configured to compute a first axial rate of change of a first ordinate based on the three vertices, and, for each sample position residing inside the triangle, (a) to multiply the first axial rate by a first sample displacement resulting in a first product, (b) to interpolate a first projection value for a projection point on a first edge of the triangle, and (c) to add the first product to the first projection value resulting in a first sample ordinate value, wherein the first sample ordinate value is usable to determine at least a portion of a displayable image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
12. A graphics system comprising:
-
an input configured to receive graphics data including three vertices defining a triangle; and
a rendering unit coupled to the input and configured to receive the graphics data including the three vertices defining the triangle from the input unit, wherein the rendering unit is further configured to generate samples in a two-dimensional screen space, wherein the rendering unit is configured to determine which of said samples reside inside the triangle;
wherein said rendering unit is configured to compute a first axial rate of change of a first ordinate based on the three vertices, and, for each sample residing inside the triangle, (a) to multiply the first axial rate by a first sample displacement resulting in a first product, (b) to interpolate a first projection value for a projection point on a first edge of the triangle, and (c) to add the first product to the first projection value resulting in a first sample ordinate value, wherein the first sample ordinate value is usable to determine at least a portion of a displayable image.
-
-
13. A method for computing sample ordinate values in a graphics system, the method comprising:
-
receiving graphics data including three vertices defining a triangle;
receiving sample positions which reside in a two-dimensional screen space;
computing a first axial rate of change of a first ordinate based on the three vertices, and, for each of said sample positions residing inside the triangle;
(a) multiplying the first axial rate by a first sample displacement resulting in a first product;
(b) interpolating a first projection value for a projection point on a first edge of the triangle; and
(c) adding the first product to the first projection value resulting in a first sample ordinate value, wherein said first sample ordinate value is usable to determine at least a portion of a displayable image.
-
-
22. A method comprising:
-
receiving graphics data including three vertices defining a triangle;
receiving samples which reside in a two-dimensional screen space;
computing a first minor axis ordinate difference along a minor axis of the triangle; and
computing a first sample ordinate value for each sample inside the triangle, wherein said computing the first sample ordinate value for a first sample inside the triangle includes;
(a) computing a minor axis positional fraction corresponding to the first sample;
(b) multiplying the minor axis positional fraction by the first minor axis ordinate difference to generate a first product; and
(c) adding the first product to one or more ordinate adjustment values to generate the first sample ordinate value, wherein the first sample ordinate value is usable to determine at least a portion of a pixel in a displayable image. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A graphics system comprising:
-
sample position generation logic configured to generate sample positions in a two-dimensional screen space;
sample ordinate generation logic configured to receive graphics data including three vertices defining a triangle and ordinate data for each of the three vertices, and to compute a first minor axis ordinate difference along a minor axis of the triangle, wherein the rendering unit is further configured to compute a first sample ordinate value for a first sample position inside the triangle by;
(a) computing a minor axis positional fraction corresponding to the first sample position;
(b) multiplying the minor axis positional fraction by the first minor axis ordinate difference to generate a first product;
(c) adding the first product to one or more ordinate adjustment values to generate the first sample ordinate value, wherein the first sample ordinate value is usable to determine at least a portion of a pixel in a displayable image. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A rendering unit comprising:
-
position generation logic configured to generate pixel positions in a two-dimensional screen space;
testing logic configured to receive graphics data including three vertices defining a triangle and to determine which of said pixel positions reside inside the triangle;
ordinate generation logic coupled to the position generation logic and the testing logic, wherein the ordinate generation logic is configured to compute a first axial rate of change of a first ordinate based on the three vertices, and, for each pixel position residing inside the triangle, (a) to multiply the first axial rate by a first pixel displacement resulting in a first product, (b) to interpolate a first projection value for a projection point on a first edge of the triangle, and (c) to add the first product to the first projection value resulting in a first pixel ordinate value, wherein the first pixel ordinate value is usable to determine at least a portion of a displayable image.
-
-
41. A method for computing pixel ordinate values in a graphics system, the method comprising:
-
receiving graphics data including three vertices defining a triangle;
receiving pixel positions which reside in a two-dimensional screen space;
computing a first axial rate of change of a first ordinate based on the three vertices, and, for each of said pixel positions residing inside the triangle;
(a) multiplying the first axial rate by a first pixel displacement resulting in a first product;
(b) interpolating a first projection value for a projection point on a first edge of the triangle; and
(c) adding the first product to the first projection value resulting in a first pixel ordinate value, wherein said first pixel ordinate value is usable to determine at least a portion of a displayable image.
-
Specification