Conservative rasterization of primitives using an error term

US9633469B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9633469-B2
Application numberUS-201313844093-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateMar 15, 2013
Publication dateApr 25, 2017
Grant dateApr 25, 2017

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 system, method, and computer program product are provided for conservative rasterization of primitives using an error term. In use, an edge equation is determined for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive. Each edge of the primitive is shifted to enlarge the primitive by modifying coefficients of the edge equation defining the edge by an error term that is a predetermined amount. Pixels that intersect the primitive are then determined using the enlarged primitive.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for rasterizing a primitive, comprising: determining an edge equation for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive; shifting each edge of the primitive to enlarge the primitive by modifying at least two coefficients of the edge equation defining the edge by an error term that is a first predetermined amount; additionally shifting each edge of the primitive to further enlarge the primitive by further modifying the at least two coefficients of the edge equation defining the edge by a second predetermined amount, wherein the second predetermined amount is equal to the first predetermined amount; and determining pixels that intersect the primitive, using the enlarged primitive. 2. The method of claim 1 , wherein the coefficients of each edge equation are computed from vertices of the primitive that have been snapped to a fixed number of fractional bits. 3. The method of claim 2 , wherein the first predetermined amount is one half of a distance by which the edge of the primitive has been snapped. 4. The method of claim 1 , wherein when the first amount is a power of 2, modifying the at least two coefficients of the edge equation by the error term includes shifting coefficients of the edge equation based on the predetermined amount. 5. The method of claim 1 , further comprising: determining a bounding box for the edges of the primitive; and shifting each edge of the bounding box to enlarge the bounding box. 6. The method of claim 5 , wherein each edge of the bounding box is shifted by: modifying each edge of the bounding box by the error term that is the first predetermined amount. 7. The method of claim 5 , further comprising determining that a pixel does not intersect the primitive when the pixel intersects the enlarged primitive and the pixel does not intersect the enlarged bounding box. 8. The method of claim 1 , wherein the coefficients of the edge equation are fixed point values. 9. A method for rasterizing a primitive comprising: determining an edge equation for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive; shifting each edge of the primitive to enlarge the primitive by modifying at least two coefficients of the edge equation defining the edge by an error term that is a first predetermined amount; additionally shifting each edge of the primitive to further enlarge the primitive by further modifying the at least two coefficients of the edge equation defining the edge by a second predetermined amount, wherein the second predetermined amount is a predetermined fraction of a size of a pixel; and determining pixels that intersect the primitive, using the enlarged primitive. 10. The method of claim 9 , wherein the second predetermined amount by which the coefficients are modified is one half of the size of the pixel. 11. A method for rasterizing a primitive, comprising: determining an edge equation for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive; shifting each edge of the primitive to enlarge the primitive by modifying at least two coefficients of the edge equation defining the edge by an error term that is a first predetermined amount; additionally shifting each edge of the primitive to further enlarge the primitive by further modifying the at least two coefficients of the edge equation defining the edge by a second predetermined amount, wherein the first predetermined amount is less than the second predetermined amount; and determining pixels that intersect the primitive, using the enlarged primitive. 12. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, perform a method to rasterize a primitive, the method comprising: determining an edge equation for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive; shifting each edge of the primitive to enlarge the primitive by modifying at least two coefficients of the edge equation defining the edge by an error term that is a first predetermined amount; additionally shifting each edge of the primitive to further enlarge the primitive by further modifying the at least two coefficients of the edge equation defining the edge by a second predetermined amount, wherein the second predetermined amount is equal to the first predetermined amount; and determining pixels that intersect the primitive, using the enlarged primitive. 13. The non-transitory computer-readable storage medium of claim 12 , wherein the coefficients of the edge equation are fixed point values. 14. The non-transitory computer-readable storage medium of claim 12 , further comprising: determining a bounding box for the edges of the primitive; shifting each edge of the bounding box to enlarge the bounding box; and determining that a pixel does not intersect the primitive when the pixel intersects the enlarged primitive and the pixel does not intersect the enlarged bounding box. 15. A system comprising: a processor configured for: determining an edge equation for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive; shifting each edge of the primitive to enlarge the primitive by modifying at least two coefficients of the edge equation defining the edge by an error term that is a first predetermined amount; additionally shifting each edge of the primitive to further enlarge the primitive by further modifying the at least two coefficients of the edge equation defining the edge by a second predetermined amount, wherein the second predetermined amount is equal to the first predetermined amount; and determining pixels that intersect the primitive, using the enlarged primitive. 16. The system of claim 15 , wherein the coefficients of the edge equation are fixed point values. 17. The system of claim 15 , wherein the processor is further configured to: determine a bounding box for the edges of the primitive; shift each edge of the bounding box to enlarge the bounding box; and determine that a pixel does not intersect the primitive when the pixel intersects the enlarged primitive and the pixel does not intersect the enlarged bounding box.

Assignees

Inventors

Classifications

  • G06T11/23Primary

    using straight lines or curves · CPC title

  • Edge-driven scaling; Edge-based scaling · CPC title

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

  • G06T15/10Primary

    Geometric effects · CPC title

  • Physics · mapped topic

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 US9633469B2 cover?
A system, method, and computer program product are provided for conservative rasterization of primitives using an error term. In use, an edge equation is determined for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive. Each edge of the primitive is shifted to enlarge the primitive by modifying coefficients of the edge equation defining the edge …
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T11/23. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 2017 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).