# US 11,308,684 B2 · Ray-tracing for auto exposure

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

- Number: US 11,308,684 B2
- Document ID: US11308684B2
- Status: Granted
- Kind: B2
- Application number: 16/994,931
- Filed: 2020-08-17
- Published: 2021-02-18
- Granted: 2022-04-19
- Earliest claimed: 2019-08-18
- Assignees: NVIDIA Corporation
- Applicants: NVIDIA Corporation
- Inventors: Jakub Boksansky; Oliver Mark Wright
- Web page: https://patentgrep.com/patent/US11308684B2

## CPC

- G06T 15/06: Ray-tracing
- G06T 15/20: Perspective computation
- G06T 15/506: {Illumination models}
- A63F 2300/538: for performing operations on behalf of the game client, e.g. rendering
- A63F 2300/66: for rendering three dimensional images
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR

## Abstract

In various examples, a virtual light meter may be implemented along with ray tracing techniques in order to determine incident light values—e.g., incoming irradiance, incident radiance, etc.—for adjusting auto exposure values of rendered frames. For example, one or more rays may be used to sample incident light over a sampling pattern—such as a hemispherical sampling pattern—for any position in a virtual game environment. As a result, the incident light values may be sampled near a subject of interest in a scene or frame such that exposure values are consistent or stable regardless of the composition of the rendered frames.

## Claims

### Claim 1

A method comprising:
casting one or more first rays from a virtual camera into a virtual environment;
determining, based at least in part on one or more intersections of the one or more first rays, one or more subjects in the virtual environment;
instantiating one or more virtual light meters at one or more locations in the virtual environment corresponding to the one or more subjects;
sampling incident light at the one or more locations of the one or more virtual light meters based at least in part on casting one or more second rays from the one or more locations of the one or more virtual light meters using one or more ray tracing algorithms;
determining, based at least in part on the incident light, an exposure value; and
rendering a frame representative of the virtual environment based at least in part on the exposure value.

### Claim 2 (depends on 1)

The method of claim 1, wherein the casting of the one or more second rays is in a sampling pattern.

### Claim 3 (depends on 2)

The method of claim 2, wherein the sampling pattern corresponds to a hemisphere.

### Claim 4 (depends on 3)

The method of claim 3, wherein a base of the hemisphere is positioned along one of: parallel with a ground plane in the virtual environment or normal to a direction of a ray of the one or more first rays cast from the virtual camera that intersects the subject.

### Claim 5 (depends on 1)

The method of claim 1, wherein the one or more locations are one of above the one or more subjects or in front of the one or more subjects.

### Claim 6 (depends on 1)

The method of claim 1, wherein the rendering the frame is from a perspective of the virtual camera in the virtual environment.

### Claim 7 (depends on 6)

The method of claim 6, wherein the method is executed in a cloud computing environment.

### Claim 8 (depends on 1)

The method of claim 1, wherein the determining the one or more subjects in the virtual environment further includes determining, from application data, a subject location of at least one subject of the one or more subjects and that the exposure value is to be calculated based at least in part on the at least one subject.

### Claim 9

A system comprising:
one or more processors; and
one or more memory devices storing instruction thereon that, when executed using the one or more processors, cause the one or more processors to execute operations comprising:
casting one or more rays from a virtual camera into a virtual environment;
determining, based at least in part on one or more intersections of the one or more rays, one or more subjects in a virtual environment;
instantiating one or more virtual light meters at one or more locations in the virtual environment corresponding to the one or more subjects;
sampling incoming irradiance at the one or more locations of the one or more virtual light meters based at least in part on executing a ray-tracing algorithm at the one or more locations;
determining, based at least in part on the incoming irradiance at the one or more locations, an exposure value; and
rendering, based at least in part on the exposure value, a frame representative of the virtual environment from a perspective of the virtual camera.

### Claim 10 (depends on 9)

The system of claim 9, wherein the ray-tracing algorithm includes, for each virtual light meter, casting a plurality of rays from a corresponding location of the virtual meter.

### Claim 11 (depends on 10)

The system of claim 10, wherein the rays are cast from the corresponding location and around a sampling hemisphere.

### Claim 12 (depends on 9)

The system of claim 9, wherein the one or more locations include at least one of a first location above the one or more subjects, a second location adjacent the one or more subjects, or a third location in front of a face of the one or more subjects.

### Claim 13 (depends on 9)

The system of claim 9, wherein the system is comprised in a cloud computing environment.

### Claim 14

A processor comprising:
processing circuitry to:
cast one or more rays from a virtual camera into a virtual environment;
determine, based at least in part on one or more intersections of the one or more rays, one or more subjects in a virtual environment;
instantiate one or more virtual light meters at one or more locations in the virtual environment corresponding to the one or more subjects;
sample incoming irradiance at the one or more locations of the one or more virtual light meters based at least in part on executing a ray-tracing algorithm at the one or more locations;
determine, based at least in part on the incoming irradiance at the one or more locations, an exposure value; and
render, based at least in part on the exposure value, a frame representative of the virtual environment from a perspective of the virtual camera.

### Claim 15 (depends on 14)

The processor of claim 14, wherein the ray-tracing algorithm includes, for each virtual light meter, casting a plurality of rays from a corresponding location of the virtual meter.

### Claim 16 (depends on 15)

The processor of claim 15, wherein the rays are cast from the corresponding location and around a sampling hemisphere.

### Claim 17 (depends on 16)

The processor of claim 16, wherein a base of the sampling hemisphere is positioned along one of: parallel with a ground plane in the virtual environment or normal to a direction of a ray of the one or more rays cast from the virtual camera.

### Claim 18 (depends on 14)

The processor of claim 14, wherein the one or more locations include at least one of a first location above the one or more subjects, a second location adjacent the one or more subjects, or a third location in front of a face of the one or more subjects.

### Claim 19 (depends on 14)

The processor of claim 14, wherein the processor is comprised in a cloud computing environment.

### Claim 20 (depends on 14)

The processor of claim 14, wherein the determination of the one or more subjects in the virtual environment further includes determining, from application data, a subject location of at least one subject of the one or more subjects and that the exposure value is to be calculated based at least in part on the at least one subject.
