Method and system for multisample antialiasing

US9275492B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9275492-B2
Application numberUS-201213671087-A
CountryUS
Kind codeB2
Filing dateNov 7, 2012
Priority dateNov 8, 2011
Publication dateMar 1, 2016
Grant dateMar 1, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and system for generating two or three dimensional computer graphics images using multisample antialiasing (MSAA) is provided, which enables memory bandwidth to be conserved. For each of one or more pixels it is determined whether all of a plurality of sample areas of that pixel are located within a particular primitive. For those pixels where it is determined that all the sample areas of that pixel are located within that primitive, a value is stored in a multisample memory for a smaller number of the sample areas of that pixel than the total number of the sample areas of that pixel and data is stored indicating that all the sample areas of that pixel are located within that primitive.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for generating three dimensional computer graphics images using multisample antialiasing by sequentially processing a plurality of primitives, comprising: dividing at least a first pixel into a plurality of sample areas; processing a first primitive, by determining that all the sample areas of the first pixel are located within said first primitive, storing a value for the first primitive in a multisample memory for a smaller number of the sample areas of the first pixel than the total number of the sample areas of the first pixel, and storing data indicating that all the sample areas of the first pixel are located within the first primitive; subsequently processing a second primitive, by reading the stored data for the first pixel to determine that all the sample areas of the first pixel are located within the first primitive, determining that only some of the sample areas of the first pixel are located within the second primitive, determining whether the value for the first primitive is already stored in the multisample memory for each sample area of the first pixel which is not located within the second primitive, if it is determined that the value for the first primitive is already stored in the multisample memory for each sample area of the first pixel which is not located within the second primitive, storing a value for the second primitive in the multisample memory for each sample area of the first pixel which is located within the second primitive without reading from the multisample memory the value for the first primitive; and if it is determined that the value for the first primitive is not already stored in the multisample memory for each sample area of the first pixel which is not located within the second primitive, reading from the multisample memory the value for the first primitive, writing to the multisample memory the value for the first primitive for each sample area of the first pixel which is not located within the second primitive for which the value for the first primitive is not already stored, and storing a value for the second primitive in the multisample memory for each sample area of the first pixel which is located within the second primitive. 2. A method according to claim 1 , wherein the smaller number of the sample areas of that pixel is one. 3. A method according to claim 1 , wherein the value for the first primitive and the value for the second primitive comprises a colour value. 4. A method according to claim 1 , wherein the data indicating that all the sample areas of the first pixel are located within the first primitive comprises a flag. 5. A method according to claim 4 , wherein the flag comprises a single bit. 6. A method according to claim 1 , comprising: determining that the first pixel is transparent for a third primitive; and storing a value in the multisample memory for each of the sample areas of the first pixel. 7. A method according to claim 1 , further comprising: updating the data indicating that all the sample areas of the first pixel are located within the first primitive to indicate that only some of the sample areas of the first pixel are located within the second primitive. 8. A method according to claim 7 , further comprising generating a final pixel value for rendering for the first pixel based on the values for the sample areas of the first pixel stored in the multisample memory and in dependence on the updated data for the first pixel. 9. An apparatus for generating images from 3-D image data using multisample antialiasing in sequential processing of a plurality of primitives from the 3-D image data, comprising: a non-transitory memory; a processor unit coupled with the non-transitory memory and configured for processing a first primitive by dividing a first pixel into a plurality of sample areas, determining that all the sample areas of the first pixel are located within said first primitive, storing a value for the first primitive for a smaller number of the sample areas of the first pixel than the total number of the sample areas of the first pixel, and storing data indicating that all the sample areas of the first pixel are located within the first primitive; said processor unit being further configured for subsequently processing a second primitive by reading the stored data for the first pixel to determine that all the sample areas of the first pixel are located within the first primitive, determining that only some of the sample areas of the first pixel are located within the second primitive, determining whether the value for the first primitive is already stored in the multisample memory for each sample area of the first pixel which is not located within the second primitive; in response to determining that the value for the first primitive is already stored in the multisample memory for each sample area of the first pixel which is not located within the second primitive, storing a value for the second primitive for each sample area of the first pixel which is located within the second primitive without reading the value for the first primitive from the multisample memory; and in response to determining that the value for the first primitive is not already stored in the multisample memory for each sample area of the first pixel which is not located within the second primitive, reading the value for the first primitive from the multisample memory, writing the value for the first primitive to the multisample memory for each sample area of the first pixel not located within the second primitive for which the value for the first primitive is not already stored and storing a value for the second primitive for each sample area of the first pixel which is located within the second primitive. 10. The apparatus according to claim 9 , wherein the processor unit comprises one or more programmable processors. 11. The apparatus according to claim 9 , wherein the processor unit comprises an input processor, an output processor and a multisample processor. 12. The apparatus according to claim 9 , wherein the smaller number of the sample areas of the first pixel is one. 13. The apparatus according to claim 9 , wherein the value for the first primitive and the value for the second primitive comprises a colour value. 14. The apparatus according to claim 9 , wherein the data indicating that all the sample areas of the first pixel are located within the first primitive comprises a flag. 15. The apparatus according to claim 14 , wherein the flag comprises a single bit. 16. The apparatus according to claim 9 , wherein the processor unit is further configured for determining that the first pixel is transparent for a third primitive; and for storing a value in the multisample memory for each of the sample areas of the first pixel. 17. The apparatus according to claim 9 , wherein the processor unit is further configured for updating the data indicating that all the sample areas of the first pixel are located within the first primitive to indicate that only some of the sample areas of the first pixel are located within the second primitive. 18. The apparatus according to claim 17 , wherein the processor unit is further configured for generating a final pixel value for rendering for the first pixel based on the values for the sample areas of the first pixel stored in the multisample memory and in dependence on the updated data for the first pixel.

Assignees

Inventors

Classifications

  • G06T15/503Primary

    Blending, e.g. for anti-aliasing · CPC title

  • Memory management · CPC title

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • G06T17/10Primary

    Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9275492B2 cover?
A method and system for generating two or three dimensional computer graphics images using multisample antialiasing (MSAA) is provided, which enables memory bandwidth to be conserved. For each of one or more pixels it is determined whether all of a plurality of sample areas of that pixel are located within a particular primitive. For those pixels where it is determined that all the sample areas…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G06T15/503. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 01 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).