# US 11,908,064 B2 · Accelerated processing via a physically based rendering engine

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,908,064 B2
- Document ID: US11908064B2
- Status: Granted
- Kind: B2
- Application number: 17/321,311
- Filed: 2021-05-14
- Published: 2022-11-17
- Granted: 2024-02-20
- Earliest claimed: 2021-05-14
- Assignees: NVIDIA Corporation
- Applicants: Nvidia Corporation
- Inventors: Robert A. Alfieri; Peter S. Shirley
- Web page: https://patentgrep.com/patent/US11908064B2

## CPC

- G06T 15/06: Ray-tracing
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 15/005: {General purpose rendering architectures}
- G06T 15/80: Shading
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

One embodiment of a computer-implemented method for processing ray tracing operations in parallel includes receiving a plurality of rays and a corresponding set of material shading instructions for each ray included in the plurality of rays for processing, wherein each ray represents a path from a light source to at least one point within a three-dimensional (3D) environment, and each corresponding set of material shading instructions is based at least in part on one or more material properties associated with at least one surface of at least one object included in the 3D environment; assigning each ray included in the plurality of rays to a different processing core included in a plurality of processing cores; and for each ray included in the plurality of rays, causing the processing core assigned to the ray to execute the corresponding set of material shading instructions on the ray to generate a color.

## Claims

### Claim 1

A computer-implemented method for processing ray tracing operations in parallel, the method comprising:
receiving a plurality of rays and a corresponding set of material shading instructions for each ray included in the plurality of rays for processing, wherein each ray represents a path from a light source to at least one point within a three-dimensional (3D) environment, and each corresponding set of material shading instructions is based at least in part on one or more material properties associated with at least one surface of at least one object included in the 3D environment;
assigning each ray included in the plurality of rays to a different processing core included in a plurality of processing cores; and
for each ray included in the plurality of rays, causing the processing core assigned to the ray to execute the corresponding set of material shading instructions on the ray to generate a color.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of rays includes one or more rays received from a tree traversal unit.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of rays includes one or more rays received from a processing unit.

### Claim 4 (depends on 1)

The method of claim 1, further comprising, for each ray included in the plurality of rays, receiving the color from the processing core assigned to the ray.

### Claim 5 (depends on 4)

The method of claim 4, further comprising, for each ray included in the plurality of rays, transmitting the color to one of a tree traversal unit or a processing unit.

### Claim 6 (depends on 1)

The method of claim 1, wherein receiving the plurality of rays comprises receiving, for each ray included in the plurality of rays, a first data structure corresponding to the ray, wherein the first data structure stores one or more first values associated with the ray.

### Claim 7 (depends on 6)

The method of claim 6 further comprising, for each ray included in the plurality of rays, receiving a second data structure corresponding to the ray from the processing core assigned to the ray, wherein the second data structure stores one or more second values associated with the ray.

### Claim 8 (depends on 7)

The method of claim 7 wherein the one or more second values include the color.

### Claim 9 (depends on 7)

The method of claim 7 further comprising, transmitting the second data structure to one of a tree traversal unit or a processing unit.

### Claim 10 (depends on 1)

The method of claim 1 further comprising:
receiving a first request from a first processing core included in the plurality of processing cores;
determining, based on the first request, a target destination of the first request; and
transmitting the first request to the target destination.

### Claim 11 (depends on 10)

The method of claim 10, wherein the first request is a request for a texture block.

### Claim 12 (depends on 10)

The method of claim 10, wherein the first request is a request for a second corresponding set of material shading instructions for a ray.

### Claim 13 (depends on 10)

The method of claim 10, wherein the first request is a request to issue instructions to a fixed-function pipeline.

### Claim 14 (depends on 10)

The method of claim 10 further comprising:
receiving a second request from a second processing core included in the plurality of processing cores;
determining that a target destination of the second request is the same as the target destination of the first request;
determining an order for sending the first request and the second request to the target destination; and
sending the first request and the second request to the target destination based on the order.

### Claim 15 (depends on 10)

The method of claim 10 further comprising:
receiving, from the target destination, one or more responses to the first request;
determining that the one or more responses are associated with the first processing core; and
transmitting the one or more responses to the first processing core.

### Claim 16

A computing system, comprising:
a central processing unit;
a parallel processing unit that receives work from the central processing unit; and
an execution unit that receives a portion of the work that includes a plurality of ray tracing operations from the parallel processing unit and executes, at least partially in parallel, different instructions on different data associated with the portion of the work.

### Claim 17 (depends on 16)

The computing system of claim 16 wherein the different data associated with the portion of the work comprises a plurality of rays, wherein each ray represents a path from a light source to at least one point within a three-dimensional (3D) environment.

### Claim 18 (depends on 16)

The computing system of claim 16 wherein the different instructions include one or more different sets of material shading instructions.

### Claim 19 (depends on 16)

The computing system of claim 16 wherein the different instructions include one or more different sets of importance sampling instructions.
