Multiresolution consistent rasterization

US9947084B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9947084-B2
Application numberUS-201313790037-A
CountryUS
Kind codeB2
Filing dateMar 8, 2013
Priority dateMar 8, 2013
Publication dateApr 17, 2018
Grant dateApr 17, 2018

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 technique for multiresolution consistent rasterization in which a setup unit calculates universal edge equations for a universal resolution. A rasterizer evaluates coverage data for two different resolutions based on the edge equations. The rasterizer evaluates coverage data for different effective pixel sizes—a large pixel size and a small pixel size. Optionally, the rasterizer may determine a first set of coverage data by performing conservative rasterization to determine coverage data for large pixels. Optionally, the rasterizer may then determine a second set of coverage data by performing standard rasterization for small pixels. Optionally, for the second set of coverage data, the rasterizer may evaluate only the small pixels that are within large pixels in the first set of coverage data that evaluate as covered.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for rasterizing an object, comprising: determining a universal resolution that corresponds to a universal grid; applying a viewport transform to snap screen coordinates for vertices of the object to the universal resolution that is different from a first resolution associated with the object; calculating, via a processor, universal edge equations based on the universal resolution and data that represent geometry data associated with the object; and determining large pixel coverage data comprising a plurality of covered large pixels based on the universal edge equations and the first resolution. 2. The method of claim 1 , further comprising determining small pixel coverage data comprising a plurality of covered small pixels, based on the universal edge equations, the plurality of covered large pixels, and a second resolution, wherein the second resolution is higher than the first resolution. 3. The method of claim 2 , wherein determining the plurality of covered large pixels comprises evaluating coverage for a plurality of large pixels in the universal grid, and wherein determining the plurality of covered small pixels comprises evaluating coverage for a plurality of small pixels in the universal grid. 4. The method of claim 3 , wherein evaluating coverage for the plurality of large pixels in the universal grid comprises, for each large pixel in the plurality of large pixels, determining whether the object covers any portion of the large pixel. 5. The method of claim 4 , wherein evaluating coverage for the plurality of small pixels in the universal grid comprises, for each small pixel in the plurality of small pixels, determining whether the object covers a sample within the small pixel. 6. The method of claim 5 , wherein each large pixel in the plurality of large pixels in the universal grid has a large pixel position, and further comprising, for each large pixel in the plurality of large pixels, determining addresses for storage of large pixel coverage data by dividing the large pixel position by the scaling factor. 7. The method of claim 6 , wherein each small pixel in the plurality of small pixels in the universal grid has a small pixel position, and wherein evaluating coverage data for the plurality of small pixels further comprises, for each small pixel, determining a small pixel position by multiplying the address for storing the large pixel coverage data by the scaling factor and adding a small pixel offset. 8. The method of claim 7 , wherein the scaling factor is based on a power of two, and wherein dividing the address for storing the large pixel coverage data further comprises bit-shifting the address for storing the large pixel coverage data by the base-two logarithm of the scaling factor. 9. The method of claim 7 , wherein multiplying the address for storing the large pixel coverage data further comprises bit-shifting the address for storing the large pixel coverage data by the base-two logarithm of the scaling factor. 10. The method of claim 1 , wherein the universal resolution is a lowest common multiple resolution of a low resolution and a high resolution for which the geometry data associated with the object is rasterized. 11. The method of claim 1 , wherein the screen coordinates produced via the viewport transform represent positions of the vertices of the object on the universal grid. 12. The method of claim 1 , wherein snapping the screen coordinates for the vertices of the object aligns the screen coordinates with a plurality of cells associated with the universal grid. 13. A graphics processing pipeline for rasterizing an object, comprising: a viewport scale, cull, and clip unit configured to apply a viewport transform to snap screen coordinates for vertices of the object to a universal resolution that is different from a first resolution associated with the object; a setup unit configured to calculate universal edge equations based on the universal resolution and data that represent geometry data associated with the object; and a rasterizer unit configured to determine large pixel coverage data comprising a plurality of covered large pixels based on the universal edge equations and the first resolution. 14. The graphics processing pipeline of claim 13 , wherein the rasterizer unit is further configured to determine small pixel coverage data comprising a plurality of covered small pixels, based on the universal edge equations, the plurality of covered large pixels, and a second resolution, wherein the second resolution is higher than the first resolution. 15. The graphics processing pipeline of claim 14 , wherein determining the plurality of covered large pixels comprises evaluating coverage for a plurality of large pixels in the universal grid, and wherein determining the plurality of covered small pixels comprises evaluating coverage for a plurality of small pixels in the universal grid. 16. The graphics processing pipeline of claim 15 , wherein evaluating coverage for the plurality of large pixels in the universal grid comprises, for each large pixel in the plurality of large pixels, determining whether the object covers any portion of the large pixel. 17. The graphics processing pipeline of claim 16 , wherein evaluating coverage for the plurality of small pixels in the universal grid comprises, for each small pixel in the plurality of small pixels, determining whether the object covers a sample within the small pixel. 18. The graphics processing pipeline of claim 17 , wherein each large pixel in the plurality of large pixels in the universal grid has a large pixel position, and further comprising, for each large pixel in the plurality of large pixels, determining addresses for storage of large pixel coverage data by dividing the large pixel position by the scaling factor. 19. The graphics processing pipeline of claim 18 , wherein each small pixel in the plurality of small pixels in the universal grid has a small pixel position, and wherein evaluating coverage data for the plurality of small pixels further comprises, for each small pixel, determining a small pixel position by multiplying the address for storage of the large pixel coverage data by the scaling factor and adding a small pixel offset. 20. The graphics processing pipeline of claim 19 , wherein the scaling factor is based on a power of two, and wherein dividing the address for storing the large pixel coverage data further comprises bit-shifting the address for storing the large pixel coverage data by the base-two logarithm of the scaling factor. 21. The graphics processing pipeline of claim 19 , wherein multiplying the address for storing the large pixel coverage data further comprises bit-shifting the address for storing the large pixel coverage data by the base-two logarithm of the scaling factor. 22. A computing device comprising: a graphics processing pipeline comprising: a viewport scale, cull, and clip unit configured to: receive an instruction to rasterize the object at two or more resolutions via a multiresolution consistent rasterization mode, and apply a viewport transform to snap screen coordinates for vertices of the object to a universal resolution that is different from a first resolution associated with the object; a setup unit configured to calculate universal edge equations based on the universal resolution and data that represent geometry data associated with the object; and a rasterizer unit configured to determine large pixel coverage data c

Assignees

Inventors

Classifications

  • G06T5/006Primary

    Physics · mapped topic

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • G06T5/80Primary

    Geometric correction · 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 US9947084B2 cover?
A technique for multiresolution consistent rasterization in which a setup unit calculates universal edge equations for a universal resolution. A rasterizer evaluates coverage data for two different resolutions based on the edge equations. The rasterizer evaluates coverage data for different effective pixel sizes—a large pixel size and a small pixel size. Optionally, the rasterizer may determine…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T5/006. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 2018 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).