Zero-Coverage Rasterization Culling
US-2016133045-A1 · May 12, 2016 · US
US9959665B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9959665-B2 |
| Application number | US-201514805088-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 21, 2015 |
| Priority date | Jul 21, 2015 |
| Publication date | May 1, 2018 |
| Grant date | May 1, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A graphics processing unit (GPU) may include a triangle setup engine (TSE) configured to determine coordinates of a triangle, rotate coordinates of the triangle based on an angle. To rotate the coordinates, the TSE generates coordinates of the triangle in a rotated domain, and determines coordinates of a bounding box in the rotated domain based on the coordinates of the triangle in the rotated domain. The TSE determines a first plurality of parallel scanlines in the rotated domain, and a second plurality of parallel scanlines in the rotated domain. The first and second pluralities of scanlines are perpendicular. The TSE determines whether the bounding box coordinates are located within two adjacent scanlines. If the bounding box coordinates are located within the two adjacent scanlines, the TSE removes the triangle from the scene.
Opening claim text (preview).
What is claimed is: 1. A method performed by a graphics processing unit (GPU), the method comprising: determining coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rendered by the GPU using multi-sample anti-aliasing; rotating the coordinates of the primitive based on a 45 degree angle, wherein rotating the coordinates of the primitive generates coordinates of the primitive in a first rotated coordinate domain, the first rotated coordinate domain being different than the first coordinate domain; determining coordinates of a first bounding box in the first rotated coordinate domain based on the coordinates of the primitive in the first rotated coordinate domain; determining a first plurality of parallel scanlines in the first rotated coordinate domain; determining a second plurality of parallel scanlines in the first rotated coordinate domain, wherein the second plurality of parallel scanlines is perpendicular to the first plurality of parallel scanlines; determining whether the first bounding box coordinates in the first rotated coordinate domain are located within a first two adjacent scanlines of the first plurality of scanlines or within a second two adjacent scanlines of the second plurality of scanlines; responsive to determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines: removing the primitive from the scene such that subsequent rasterization computations for the primitive are not performed; rotating the coordinates of the primitive based on a 63.5 degree angle, wherein rotating the coordinates of the primitive generates coordinates of the primitive in a second rotated coordinate domain, the second rotated coordinate domain being different than the first coordinate domain; determining coordinates of a second bounding box in the second rotated coordinate domain based on the coordinates of the primitive in the second rotated coordinate domain; determining a third plurality of parallel scanlines in the second rotated coordinate domain; determining a fourth plurality of parallel scanlines in the second rotated coordinate domain, wherein the fourth plurality of parallel scanlines is perpendicular to the third plurality of parallel scanlines; determining whether the second bounding box coordinates in the second rotated coordinate domain are located within a first two adjacent scanlines of the third plurality of scanlines or within a second two adjacent scanlines of the fourth plurality of scanlines; and responsive to determining that the second bounding box coordinates are located within the first two adjacent scanlines of the third plurality of scanlines or the second two adjacent scanlines of the fourth plurality of scanlines: removing the primitive from the scene such that subsequent rasterization computations for the primitive are not performed. 2. The method of claim 1 , wherein rotating the primitive further comprises: rotating the primitive coordinates according to the transformation matrix: [ u v ] = [ cos θ - sin θ sin θ cos θ ] [ x y ] , wherein u and v are coordinates of a point in the rotated coordinate domain, and wherein θ is the 45 degree angle. 3. The method of claim 2 , wherein determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines comprises: determining an absolute value of a difference between a maximum u-coordinate of the first bounding box and a minimum u-coordinate of the first bounding box; determining an absolute value of a difference between a maximum v-coordinate of the first bounding box and a minimum v-coordinate of the first bounding box; and responsive to determining that the absolute value of the difference between the maximum u-coordinate and the minimum v-coordinate value is less than one unit in the first rotated coordinate domain, or that the absolute value of the difference between the maximum u-coordinate and the minimum u-coordinate is less than one unit in the first rotated coordinate domain: determining that the first bounding box coordinates are located within the first two adjacent scanlines or within the second two adjacent scanlines; and removing the primitive from the scene such that the subsequent rasterization computations for the primitive are not performed. 4. The method of claim 1 , wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines correspond to pixels in the scene. 5. The method of claim 1 , further comprising: multisampling pixels of the primitive, wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines intersect at multisampled pixels of the primitive. 6. The method of claim 1 , wherein the primitive coordinates in the first coordinate domain comprise x-y Cartesian coordinates. 7. An apparatus comprising: a memory; and a graphics processing unit (GPU) in communication with the memory, the GPU configured to: determine coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rend
involving antialiasing · CPC title
Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title
General purpose rendering architectures · CPC title
Hidden part removal · CPC title
involving 3D image data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.