IP Library Granted Patent US 10,553,010
Granted Patent B2
US 10,553,010 · App. 15/477,035 · Granted Feb 4, 2020

Temporal data structures in a ray tracing architecture

Inventors: Sven Woop (Völklingen, DE); Attila Afra (Satu Mare, SE); Carsten Benthin (Voelklingen, DE); Ingo Wald (Salt Lake City, UT); Johannes Guenther (Munich, DE)
Assignee: Intel IP Corporation
G06T15/005G06T1/20G06T15/06
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,553,010
App. No.
15/477,035
Granted
Feb 4, 2020
Kind
B2
Abstract

A graphics processing apparatus comprising bounding volume hierarchy (BVH) construction circuitry to perform a spatial analysis and temporal analysis related to a plurality of input primitives and responsively generate a BVH comprising spatial, temporal, and spatial-temporal components that are hierarchically arranged, wherein the spatial components include a plurality of spatial nodes with children, the spatial nodes bounding the children using spatial bounds, and the temporal components comprise temporal nodes with children, the temporal nodes bounding their children using temporal bounds and the spatial-temporal components comprise spatial-temporal nodes with children, the spatial-temporal nodes bounding their children using spatial and temporal bounds; and ray traversal/intersection circuitry to traverse a ray or a set of rays through the BVH in accordance with the spatial and temporal components.

Claims (36)

1. A graphics processing apparatus comprising:

bounding volume hierarchy (BVH) construction circuitry to perform a spatial analysis and temporal analysis related to a plurality of input primitives and responsively generate a BVH comprising spatial, temporal, and spatial-temporal components that are hierarchically arranged,

wherein the spatial components include a plurality of spatial nodes with children, the spatial nodes bounding the children using spatial bounds, and

the temporal components comprise temporal nodes with children, the temporal nodes bounding their children using temporal bounds and

the spatial-temporal components comprise spatial-temporal nodes with children, the spatial-temporal nodes bounding their children using spatial and temporal bounds; and

ray traversal/intersection circuitry to traverse a ray or a set of rays through the BVH in accordance with the spatial and temporal components,

wherein the BVH construction circuitry is to select a spatial or temporal split that minimizes a motion blur surface area heuristic, and wherein the motion blur surface area heuristic is to estimate a probability of hitting a list of primitives bounded by spatial and temporal bounds through a product of the size of a time range and surface area of the spatial bounds, and to estimate a size of a set of primitives by the sum of the number of time segments of all primitives of the set.

2. The graphics processing apparatus as in claim 1 where the spatial bounds store at least two bounding boxes that are linearly interpolated to any time bound of the geometry at that time.

3. The graphics processing apparatus as in claim 1 wherein a ray has time data associated therewith, the ray traversal/intersection circuitry:

to process a spatial node by testing the ray against stored spatial bounds of its children and processing children the ray intersects;

to process a temporal node by testing the time of the ray against the time ranges of the children stored in the temporal node and process a child if the time of the ray falls into its time range; and

to process a spatial-temporal node by testing the ray and the time of the ray against stored spatial bounds and temporal bounds of its children and process a child if the ray intersects the spatial bounds and the time of the ray falls into the time range of the child.

4. A method comprising:

performing a spatial analysis and temporal analysis related to a plurality of input primitives and responsively generating a bounding volume hierarchy (BVH) comprising spatial, temporal, and spatial-temporal components that are hierarchically arranged,

wherein the spatial components include a plurality of spatial nodes with children, the spatial nodes bounding the children using spatial bounds, and

the temporal components comprise temporal nodes with children, the temporal nodes bounding their children using temporal bounds and

the spatial-temporal components comprise spatial-temporal nodes with children, the spatial-temporal nodes bounding their children using spatial and temporal bounds; and

traversing a ray or a set of rays through the BVH in accordance with the spatial and temporal components,

wherein a spatial or temporal split is selected to minimize a motion blur surface area heuristic, and wherein and wherein the motion blur surface area heuristic estimates a probability of hitting a list of primitives bounded by spatial and temporal bounds through a product of the size of a time range and surface area of the spatial bounds, and estimates a size of a set of primitives by the sum of the number of time segments of all primitives of the set.

5. The method as in claim 4 where the spatial bounds store at least two bounding boxes that are linearly interpolated to any time bound of the geometry at that time.

6. The method as in claim 4 wherein a ray has time data associated therewith, wherein traversing a ray or set of rays comprises:

processing a spatial node by testing the ray against stored spatial bounds of its children and processing children the ray intersects;

processing a temporal node by testing the time of the ray against the time ranges of the children stored in the temporal node and process a child if the time of the ray falls into its time range; and

processing a spatial-temporal node by testing the ray and the time of the ray against stored spatial bounds and temporal bounds of its children and process a child if the ray intersects the spatial bounds and the time of the ray falls into the time range of the child.

7. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:

performing a spatial analysis and temporal analysis related to a plurality of input primitives and responsively generating a bounding volume hierarchy (BVH) comprising spatial, temporal, and spatial-temporal components that are hierarchically arranged,

wherein the spatial components include a plurality of spatial nodes with children, the spatial nodes bounding the children using spatial bounds, and

the temporal components comprise temporal nodes with children, the temporal nodes bounding their children using temporal bounds and

the spatial-temporal components comprise spatial-temporal nodes with children, the spatial-temporal nodes bounding their children using spatial and temporal bounds; and

traversing a ray or a set of rays through the BVH in accordance with the spatial and temporal components,

wherein a spatial or temporal split is selected to minimize a motion blur surface area heuristic, and wherein and wherein the motion blur surface area heuristic estimates a probability of hitting a list of primitives bounded by spatial and temporal bounds through a product of the size of a time range and surface area of the spatial bounds, and estimates a size of a set of primitives by the sum of the number of time segments of all primitives of the set.

8. The non-transitory machine-readable medium as in claim 7 where the spatial bounds store at least two bounding boxes that are linearly interpolated to any time bound of the geometry at that time.

9. The non-transitory machine-readable medium as in claim 7 wherein a ray has time data associated therewith, wherein traversing a ray or set of rays comprises:

processing a spatial node by testing the ray against stored spatial bounds of its children and processing children the ray intersects;

processing a temporal node by testing the time of the ray against the time ranges of the children stored in the temporal node and process a child if the time of the ray falls into its time range; and

processing a spatial-temporal node by testing the ray and the time of the ray against stored spatial bounds and temporal bounds of its children and process a child if the ray intersects the spatial bounds and the time of the ray falls into the time range of the child.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2021
From: INTEL IP CORPORATION
To: INTEL CORPORATION
Reel/Frame 056337/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2019
From: WOOP, SVEN; AFRA, ATTILA; BENTHIN, CARSTEN; WALD, INGO; GUENTHER, JOHANNES
To: INTEL IP CORPORATION
Reel/Frame 048473/0128 →
Continuity (1)
Related Publication 20180286103A1 · Oct 4, 2018