Anti-aliased rendering
AssigneeAdobe Systems Incorporated
InventorRadomir Mech
Life of this patent
Estimating the term…
Abstract
Methods, systems and apparatus, including computer program products, for anti-aliased rendering. A plurality of objects is received. Each object in the plurality of objects is depth-ordered. Each object is rendered from back to front into a plurality of pixels. Each pixel in the plurality of pixels has a respective color value. The rendering includes selecting an object from the plurality of objects. Respective alpha values are determined for first pixels in the plurality of pixels based on coverage of the first pixels by the selected object. The respective color value of each of the first pixels is attenuated based on the respective alpha values. The respective color value of each of the first pixels is added to based on the respective alpha values and one or more color properties associated with the selected object.
Claims28
A computer-implemented method comprising:
- receiving, by a computer, a plurality of objects, each object in the plurality of objects being depth-ordered;
- partitioning, by the computer, the plurality of objects into groups of two or more objects, each pair of objects in a group of objects sharing a common edge, each group of objects being depth-ordered based on the depth of an object in the group;
- and
- rendering, by the computer, from back to front, each group of objects into a plurality of pixels, each pixel in the plurality of pixels having a respective color value, the rendering including:
- selecting a group of objects from the groups of objects;
- determining respective first alpha values for first pixels in the plurality of pixels based on coverage of the first pixels by objects in the selected group of objects;
- attenuating the respective color value of each of the first pixels based on the respective first alpha values;
- and
- rendering each object in the selected group of objects, including:
- selecting an object from the selected group of objects;
- determining respective second alpha values for second pixels in the plurality of pixels based on coverage of the second pixels by the selected object;
- and
- adding to the respective color value of each of the second pixels based on the respective second alpha values and one or more color properties associated with the selected object.
A computer-implemented method comprising:
- receiving a plurality of objects, each object in the plurality of objects being depth-ordered;
- and
- rendering, from back to front, each object into a plurality of pixels, each pixel in the plurality of pixels having a respective color value, the rendering including:
- selecting an object from the plurality of objects;
- determining respective alpha values for first pixels in the plurality of pixels based on coverage of the first pixels by the selected object;
- attenuating the respective color value of each of the first pixels based on the respective alpha values;
- and
- adding to the respective color value of each of the first pixels based on the respective alpha values and one or more color properties associated with the selected object.
A computer program product, encoded on a computer-storage medium, operable to cause data processing apparatus to perform operations comprising:
- receiving a plurality of objects, each object in the plurality of objects being depth-ordered;
- and
- rendering, from back to front, each object into a plurality of pixels, each pixel in the plurality of pixels having a respective color value, the rendering including:
- selecting an object from the plurality of objects;
- determining respective alpha values for first pixels in the plurality of pixels based on coverage of the first pixels by the selected object;
- attenuating the respective color value of each of the first pixels based on the respective alpha values;
- and
- adding to the respective color value of each of the first pixels based on the respective alpha values and one or more color properties associated with the selected object;
- rendering an inside area of each object in the plurality of objects, the inside area corresponding to second pixels in the plurality of pixels being completely covered by the selected object, wherein rendering the inside area comprises blending the respective color values of each of the second pixels based on a respective color property and a respective transparency property of the selected object.
A system comprising:
- means for receiving a plurality of objects, each object in the plurality of objects being depth-ordered;
- means for partitioning the plurality of objects into groups of two or more objects, each pair of objects in a group of objects sharing a common edge, each group of objects being depth-ordered based on the depth of an object in the group;
- and
- means for rendering, from back to front, each group of objects into a plurality of pixels, each pixel in the plurality of pixels having a respective color value, the rendering including:
- selecting a group of objects from the groups of objects;
- determining respective first alpha values for first pixels in the plurality of pixels based on coverage of the first pixels by objects in the selected group of objects;
- attenuating the respective color value of each of the first pixels based on the respective first alpha values;
- and
- rendering each object in the selected group of objects, including:
- selecting an object from the selected group of objects;
- determining respective second alpha values for second pixels in the plurality of pixels based on coverage of the second pixels by the selected object;
- and
- adding to the respective color value of each of the second pixels based on the respective second alpha values and one or more color properties associated with the selected object;
- means for rendering an inside area of each object in the selected group of objects, the inside area corresponding to third pixels in the plurality of pixels, each of the third pixels being completely covered by a single object in the selected group of objects, wherein rendering the inside area comprises blending the respective color values of each of the third pixels based on a respective color property and a respective transparency property of the single object.
A system comprising:
- means for receiving a plurality of objects, each object in the plurality of objects being depth-ordered;
- and
- means for rendering, from back to front, each object into a plurality of pixels, each pixel in the plurality of pixels having a respective color value, the rendering including:
- selecting an object from the plurality of objects;
- determining respective alpha values for first pixels in the plurality of pixels based on coverage of the first pixels by the selected object;
- attenuating the respective color value of each of the first pixels based on the respective alpha values;
- and
- adding to the respective color value of each of the first pixels based on the respective alpha values and one or more color properties associated with the selected object
- means for rendering an inside area of each object in the plurality of objects, the inside area corresponding to second pixels in the plurality of pixels being completely covered by the selected object, wherein rendering the inside area comprises blending the respective color values of each of the second pixels based on a respective color property and a respective transparency property of the selected object.
Dependencies are inferred from the claim text.