# US 10,311,629 B2 · Level of detail selection during ray tracing

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

- Number: US 10,311,629 B2
- Document ID: US10311629B2
- Status: Granted
- Kind: B2
- Application number: 15/004,191
- Filed: 2016-01-22
- Published: 2017-07-27
- Granted: 2019-06-04
- Earliest claimed: 2016-01-22
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: David Baldwin; Karthik Vaidyanathan
- Web page: https://patentgrep.com/patent/US10311629B2

## CPC

- G06T 15/06: Ray-tracing
- G06T 15/005: {General purpose rendering architectures}
- G06T 2210/12: Bounding box
- G06T 2210/21: Collision detection, intersection
- G06T 2210/36: Level of detail
- G06T 2210/61: Scene description
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A level of detail node may hold in a bounding volume hierarchy, an object identifier, a distance at which a transition occurs between levels of detail and a bias. When a level of detail node is encountered in the hierarchy, the distance value may be used to select a level of detail. Sometimes a different level of detail is loaded because the preferred level is not available. The different level may be marked in a register. Then for a subsequence frame, the correct level is used. A node bias may be used to override the level of detail selection is some cases.

## Claims

### Claim 1

A method comprising:
using a hardware processor to traverse an acceleration structure during ray tracing, said acceleration structure including internal, leaf, and level of detail nodes, where a level of detail node is a node that points to a plurality of nodes with different levels of detail;
selecting a level of detail using said level of detail nodes;
using a different level of detail in place of the selected level of detail;
marking a data structure to indicate that the different level of detail was used in a first frame in place of the selected level of detail;
using the marked data structure to select the selected level of detail in a second frame;
determining that the selected level of detail is not available; and
selecting said different level of detail in response to determining that the selected level of detail was not available.

### Claim 2 (depends on 1)

The method of claim 1 wherein said level of detail node includes a distance at which a transition occurs between levels of detail and said level of detail node points to a plurality of different levels of detail.

### Claim 3 (depends on 2)

The method of claim 2 wherein a ray includes a bias value to account for reflections, refractions or shadows.

### Claim 4 (depends on 2)

The method of claim 2 wherein said level of detail includes an object identifier.

### Claim 5 (depends on 1)

The method of claim 1 including detecting that a ray traversal is for shadow detection and selecting an alternative level of detail.

### Claim 6 (depends on 1)

The method of claim 1 including detecting a reflection or refraction and selecting a level of detail based on whether the ray is reflected or refracted.

### Claim 7 (depends on 1)

The method of claim 1 including selecting a level of detail specific for each ray.

### Claim 8

At least one non-transitory computer readable medium storing instructions executed to perform a sequence comprising:
using a hardware processor to traverse an acceleration structure during ray tracing, said acceleration structure including internal, leaf, and level of detail nodes, where a level of detail node is a node that points to a plurality of nodes with different levels of detail;
selecting a level of detail using said level of detail nodes;
using a different level of detail in place of the selected level of detail;
marking a data structure to indicate that the different level of detail was used in a first frame in place of the selected level of detail;
using the marked data structure to select the selected level of detail in a second frame;
determining that the selected level of detail is not available; and
selecting said different level of detail in response to determining that the selected level of detail was not available.

### Claim 9 (depends on 8)

The medium of claim 8 wherein said level of detail node includes a distance at which a transition occurs between levels of detail and said level of detail node points to a plurality of different levels of detail.

### Claim 10 (depends on 9)

The medium of claim 9 wherein a ray includes a bias value to account for reflections, refractions or shadows.

### Claim 11 (depends on 9)

The medium of claim 9 wherein said level of detail includes an object identifier.

### Claim 12 (depends on 8)

The medium of claim 8, said sequence including detecting that a ray traversal is for shadow detection and selecting an alternative level of detail.

### Claim 13 (depends on 8)

The medium of claim 8, said sequence including detecting a reflection or refraction and selecting a level of detail based on whether the ray is reflected or refracted.

### Claim 14 (depends on 8)

The medium of claim 8, said sequence including selecting a level of detail specific for each ray.

### Claim 15

An apparatus comprising:
a hardware processor to traverse an acceleration structure during ray tracing, said acceleration structure including internal, leaf, and level of detail nodes, where a level of detail node is a node that points to a plurality of nodes with different levels of detail and to select a level of detail using said level of detail nodes, use a different level of detail in place of the selected level of detail, mark a data structure to indicate that the different level of detail was used in a first frame in place of the selected level of detail, use the marked data structure to select the selected level of detail in a second frame, determine that the selected level of detail is not available, and select said different level of detail in response to determining that the selected level of detail was not available; and
a memory coupled to said processor.

### Claim 16 (depends on 15)

The apparatus of claim 15 wherein said level of detail node includes a distance at which a transition occurs between levels of detail and said level of detail node points to a plurality of different levels of detail.

### Claim 17 (depends on 16)

The apparatus of claim 16 wherein a ray includes a bias value to account for reflections, refractions or shadows.

### Claim 18 (depends on 16)

The apparatus of claim 16 wherein said level of detail includes an object identifier.

### Claim 19 (depends on 15)

The apparatus of claim 15 may include a processor to detect that a ray traversal is for shadow detection and selecting an alternative level of detail.

### Claim 20 (depends on 15)

The apparatus of claim 15 may include a processor to detect a reflection or refraction and selecting a level of detail based on whether the ray is reflected or refracted.

### Claim 21 (depends on 15)

The apparatus of claim 15 may include a processor to select a level of detail specific for each ray.
