Antialiasing of two-dimensional vector images
First Claim
1. A method of rendering an image, the method comprising:
- determining a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel;
determining a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source coverage mask that indicates the samples of the source pixel which are covered by a polygon and based on a single transparency value for the source pixel, each of the transparencies of the source pixel being equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask, the destination pixel being in front of the source pixel; and
determining, by a graphics processor, a new pre-multiplied color of the destination pixel based on the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel.
3 Assignments
0 Petitions
Accused Products
Abstract
Described is a method of rendering an image. A transparency of a destination pixel and a transparency of a source pixel are determined at multiple sample positions in each pixel. A new pre-multiplied color is determined for the destination pixel in response to the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel. New transparencies of the destination pixel are determined at the samples in the destination pixel in response to the transparencies of the source pixels and the transparencies of the destination pixel. The method of the present invention permits rendering of polygonal two-dimensional images while eliminating overdraw, therefore using less memory bandwidth than conventional methods for rendering typical two-dimensional vector images. Thus the method is suited for mobile computing and other applications with limited memory bandwidth.
45 Citations
26 Claims
-
1. A method of rendering an image, the method comprising:
-
determining a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel; determining a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source coverage mask that indicates the samples of the source pixel which are covered by a polygon and based on a single transparency value for the source pixel, each of the transparencies of the source pixel being equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask, the destination pixel being in front of the source pixel; and determining, by a graphics processor, a new pre-multiplied color of the destination pixel based on the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of rendering an image, the method comprising:
-
determining a plurality of destination transparencies Adi at a number n of samples in a destination pixel; determining a plurality of source transparencies Asi at the number n of samples in a source pixel, the source pixel being behind the destination pixel; and calculating, by a graphics processor, a new pre-multiplied color p for the destination pixel based on a pre-multiplied destination color pd, a source color cs, the plurality of destination transparencies Adi of the n samples in the destination pixel and the plurality of source transparencies Asi of the n samples in the source pixel according to the following equation; - View Dependent Claims (9, 10, 11)
-
-
12. A graphics processor for generating antialiased two-dimensional vector images comprising:
-
a source buffer storing, for a plurality of source pixels, a color for each of the source pixels and a plurality of transparencies for each of the source pixels, wherein for each of the source pixels, each of the transparencies for the respective source pixel is associated with a respective one of a plurality of samples of the respective source pixel, wherein the plurality of the transparencies for each of the source pixels are determined based on a source coverage mask that indicates the samples of the respective source pixel which are covered by a polygon and based on a single transparency value for the respective source pixel, and wherein each of the transparencies of the source pixel is equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask; a destination buffer storing, for a plurality of destination pixels, a color for each of the destination pixels and a plurality of transparencies for each of the destination pixels, wherein for each of the destination pixels, each of the transparencies for the respective destination pixel is associated with a respective one of a plurality of samples of the respective destination pixel, each of the destination pixels being in front of a respective one of the source pixels; and a composition module in communication with the destination buffer and the source buffer, the composition module generating a new pre-multiplied color for each of the destination pixels based on the transparencies of the respective destination pixel, the transparencies of a respective one of the source pixels, a color of the respective one of the source pixels and a pre-multiplied color of the respective destination pixel. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium for rendering an image, the computer readable medium comprising computer executable instructions to cause one or more processors to:
-
determine a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel; determine a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source coverage mask that indicates the samples of the source pixel which are covered by a polygon and based on a single transparency value for the source pixel, each of the transparencies of the source pixel being equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask, the destination pixel being in front of the source pixel; and determine a new pre-multiplied color of the destination pixel based on the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel.
-
-
19. A graphics processor for generating antialiased two-dimensional vector images comprising:
-
a destination buffer storing, for a plurality of destination pixels, a pre-multiplied destination color pd for each of the destination pixels and a plurality of transparencies Adi for each of the destination pixels, wherein for each of the destination pixels, each of the transparencies for the respective destination pixel is associated with a respective one of a plurality of samples of the respective destination pixel; a source buffer storing, for a plurality of source pixels, a color cs for each of the source pixels and a plurality of transparencies Asi for each of the source pixels, wherein for each of the source pixels, each of the transparencies for the respective source pixel is associated with a respective one of a plurality of samples of the respective source pixel, each of the source pixels being behind a respective one of the destination pixels; and a composition module in communication with the destination buffer and the source buffer, the composition module generating a new pre-multiplied color p for each of the destination pixels based on the transparencies Adi of the respective destination pixel, the transparencies Asi of a respective one of the source pixels, a color cs of the respective one of the source pixels and the pre-multiplied color pd of the respective destination pixel according to the following equation; - View Dependent Claims (20)
-
-
21. A non-transitory computer readable medium for rendering an image, the computer readable medium comprising computer executable instructions to cause one or more processors to:
-
determine a plurality of transparencies Adi at a number n of samples in a destination pixel; determine a plurality of transparencies Asi at the number n of samples in a source pixel, the source pixel being behind the destination pixel; and calculate a new pre-multiplied color p for the destination pixel based on a pre-multiplied destination color pd, a source color cs, the destination transparencies Adi of the n samples in the destination pixel and the source transparencies Asi of the n samples in the source pixel according to the following equation; - View Dependent Claims (22)
-
-
23. A device comprising:
-
means for determining a plurality of transparencies Adi at a number n of samples in a destination pixel; means for determining a plurality of transparencies Asi at the number n of samples in a source pixel, the source pixel being behind the destination pixel; and means for calculating a new pre-multiplied color p for the destination pixel based on a pre-multiplied destination color pd, a source color cs, the destination transparencies Adi and the source transparencies Asi according to the following equation; - View Dependent Claims (24)
-
-
25. A device comprising:
-
means for determining a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel; means for determining a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source coverage mask that indicates the samples of the source pixel which are covered by a polygon and based on a single transparency value for the source pixel, each of the transparencies of the source pixel being equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask, the destination pixel being in front of the source pixel; and means for determining a new pre-multiplied color of the destination pixel based on the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel. - View Dependent Claims (26)
-
Specification