IP Library › Granted Patent US 9,390,540
Granted Patent B2
US 9,390,540 · App. 13/725,721 · Granted Jul 12, 2016

Deferred shading graphics processing unit, geometry data structure and method of performing anti-aliasing in deferred shading

Inventor: Yury Uralsky (Santa Clara, CA)
Assignee: Nvidia Corporation
G06T15/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,390,540
App. No.
13/725,721
Granted
Jul 12, 2016
Kind
B2
Abstract

A deferred shading GPU, geometry data structure and method. One embodiment of the geometry data structure is found in a graphics processing subsystem operable to render a scene having a pixel represented by samples. The graphics processing subsystem includes: (1) a memory configured to store a geometry data structure associated with the pixel containing surface fragment coverage masks associated with the samples, and (2) a GPU configured to employ the surface fragment coverage masks to carry out deferred shading on the pixel.

Claims (30)

1. A graphics processing subsystem operable to render a scene having a pixel represented by samples, comprising:

a memory configured to store a geometry data structure associated with said pixel containing surface fragment coverage masks associated with said samples; and

a graphics processing unit (GPU) configured to employ said surface fragment coverage masks to form a coverage matrix and carry out deferred shading on said pixel, wherein said GPU is further configured to rectify said coverage matrix such that said coverage matrix is symmetric before carrying out said deferred shading.

2. The graphics processing subsystem recited in claim 1 wherein said symmetric coverage matrix is a raster coverage matrix.

3. The graphics processing subsystem recited in claim 2 wherein said GPU is further configured to carry-out a bit-wise logical AND operation on said raster coverage matrix and a transpose of said raster coverage matrix.

4. The graphics processing subsystem recited in claim 1 wherein said surface fragment coverage masks form a post-Z coverage matrix.

5. The graphics processing subsystem recited in claim 1 wherein said geometry data structure further contains a normal vector associated with said pixel.

6. The graphics processing subsystem recited in claim 1 wherein said GPU is further configured to employ said surface fragment coverage masks to determine a number of unique surface fragments covered by said pixel and map said number of unique surface fragments to said samples.

7. A method of shading a pixel represented by samples in a previously rendered scene, comprising:

employing surface fragment coverage masks associated with said samples in determining a number of unique surface fragments covering said pixel;

employing said surface fragment coverage masks in generating a mapping of said unique surface fragments to said samples; and

carrying out, using a streaming multiprocessor in a graphics processing unit, deferred shading on said pixel according to said number of unique surface fragments and said mapping;

wherein a coverage matrix is formed from said surface fragment coverage masks and is rectified such that said coverage matrix is symmetric before carrying out said determining and said generating.

8. The method recited in claim 7 wherein said coverage matrix includes a raster coverage matrix.

9. The method recited in claim 8 wherein said coverage matrix is rectified by carrying out a bit-wise logical AND operation on said raster coverage matrix and a transpose of said raster coverage matrix.

10. The method recited in claim 7 wherein said surface fragment coverage masks includes a post-Z coverage matrix.

11. The method recited in claim 7 wherein said deferred shading comprises shading said pixel once for each of said unique surface fragments.

12. The method recited in claim 7 wherein each of said unique surface fragments covers a unique subset of said samples, said subset being unique with respect to all other subsets covered by each other of said unique surface fragments.

13. A graphics processing unit (GPU) operable to render a scene containing a pixel, comprising:

a rasterizer configured to generate surface attributes associated with visible geometry within said pixel and surface fragment coverage masks associated with samples of said pixel;

a memory configured to store a geometry data structure associated with said pixel containing:

said surface attributes, and

said surface fragment coverage masks; and

a shader configured to employ said geometry data structure in carrying out deferred shading on said pixel;

wherein said GPU is configured to employ said surface fragment coverage masks to form a coverage matrix and said GPU is further configured to rectify said coverage matrix such that said coverage matrix is symmetric before carrying out said deferred shading.

14. The GPU recited in claim 13 wherein said shader is further configured to employ said surface fragment coverage masks to determine a number of unique surface fragments covering said pixel and map said unique surface fragments to said samples.

15. The GPU recited in claim 13 wherein said symmetric coverage matrix is a raster coverage matrix.

16. The GPU recited in claim 15 wherein said GPU is further configured to carry out a bit-wise logical AND operation on said raster coverage matrix and a transpose of said raster coverage matrix.

17. The GPU recited in claim 13 wherein said surface fragment coverage masks form a post-Z coverage matrix.

18. The GPU recited in claim 13 wherein said surface attributes include albedo data associated with said pixel.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE AND ASSIGNEE NAME ON ORIGINAL COVER SHEET AND ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 029522 FRAME 0767. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 13, 2015
From: URALSKY, YURY
To: NVIDIA CORPORATION
Reel/Frame 036101/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2012
From: URALSKY, YURY
To: NVIDIA
Reel/Frame 029522/0767 →
Continuity (1)
Related Publication 20140176549A1 · Jun 26, 2014