IP Library Granted Patent US 10,580,201
Granted Patent B2
US 10,580,201 · App. 16/167,462 · Granted Mar 3, 2020

Method and apparatus for sampling pattern generation for a ray tracing architecture

Inventor: David R. Baldwin (Weybridge, GB)
Assignee: Intel Corporation
G06T15/506G06T11/40G06T15/005G06T15/06G06T15/80
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 10,580,201
App. No.
16/167,462
Granted
Mar 3, 2020
Kind
B2
Abstract

An apparatus and method for sampling pattern generation in a ray tracing architecture. For example, one embodiment of a graphics processing apparatus comprises: a ray generation circuit to generate a ray stream from one or more image tiles; and a sample pattern generation circuit to generate samples for rays in the ray stream, the samples generated to exhibit at least some randomness across pixels of a given frame but be repeatable across multiple frames.

Claims (25)

1. A graphics processing apparatus comprising:

a ray generation circuit to generate a ray stream from one or more image tiles, wherein samples are generated for rays in the ray stream, the samples generated to exhibit at least some randomness across pixels of a given frame but be repeatable across multiple frames, wherein the exhibited randomness of the samples is in accordance with a probability distribution function, wherein the sample generation uses a sample pattern index to identify a particular sample pattern stored in a memory, and wherein the particular sample pattern is used to generate a set of rays in the ray stream.

2. The graphics processing apparatus as in claim 1 , wherein identifying the particular sample pattern comprises retrieving an address of a sample table stored in the memory.

3. The graphics processing apparatus as in claim 2 , wherein a sample set index is used to identify a particular set of samples from the sample table.

4. The graphics processing apparatus as in claim 3 , wherein the sample table comprises a hierarchical arrangement comprising N strata with each strata including M clusters, each cluster comprising O samples.

5. The graphics processing apparatus as in claim 4 , wherein the particular sample pattern is formed by reading all samples from one particular cluster from each of the strata.

6. The graphics processing apparatus as in claim 5 , wherein the sample table comprises 8 strata, each with 8 clusters, and 4 samples per cluster.

7. The graphics processing apparatus as in claim 3 , wherein the particular sample pattern is to be selected based on one or more of: different shapes of each light source, different bidirectional reflectance distribution functions (BRDFs) for different materials, and cosine-weighted hemispherical sampling patterns for ambient occlusion.

8. The graphics processing apparatus as in claim 1 , further comprising:

an intersection circuit to perform intersection tests for each ray against one or more primitives to generate intersection results.

9. The graphics processing apparatus as in claim 8 , further comprising:

a plurality of shaders to be dispatched to perform shading operations on the intersection results.

10. A system comprising:

a memory to store data and program code;

a central processing unit (CPU) comprising an instruction cache for caching a portion of the program code and a data cache for caching a portion of the data, the CPU further comprising execution logic to execute at least some of the program code and responsively process at least some of the data, at least a portion of the program code comprising graphics commands; and

a graphics processing subsystem to process the graphics commands and responsively render a plurality of image frames, the graphics processing subsystem comprising:

a ray generation circuit to generate a ray stream from one or more image tiles, wherein samples are generated for rays in the ray stream, the samples generated to exhibit at least some randomness across pixels of a given frame but be repeatable across multiple frames, wherein the exhibited randomness of the samples is in accordance with a probability distribution function, wherein the sample generation uses a sample pattern index to identify a particular sample pattern stored in the memory, and wherein the particular sample pattern is used to generate a set of rays in the ray stream.

11. The system as in claim 10 wherein identifying the particular sample pattern comprises retrieving an address of a sample table stored in the memory.

12. The system as in claim 11 , wherein a sample set index is used to identify a particular set of samples from the sample table.

13. The system as in claim 12 , wherein the sample table comprises a hierarchical arrangement comprising N strata with each strata including M clusters, each cluster comprising O samples.

14. The system as in claim 13 , wherein the particular sample pattern is formed by reading all samples from one particular cluster from each of the strata.

15. The system as in claim 14 , wherein the sample table comprises 8 strata, each with 8 clusters, and 4 samples per cluster.

16. The system as in claim 12 , wherein the particular sample pattern is to be selected based on one or more of: different shapes of each light source, different bidirectional reflectance distribution functions (BRDFs) for different materials, and cosine-weighted hemispherical sampling patterns for ambient occlusion.

17. The system as in claim 10 , further comprising:

an intersection circuit to perform intersection tests for each ray against one or more primitives to generate intersection results.

Continuity (2)
Continuation 15088503 · Apr 1, 2016
Related Publication 20190057543A1 · Feb 21, 2019