System, method, and computer program product for constructing a hierarchical acceleration data structure that supports ray tracing of motion blur
AssigneeNVIDIA Corporation
InventorsLeonhard Grunschloss, Martin Stich, Sehera Nawaz, Alexander Keller
Life of this patent
Estimating the term…
Abstract
A system, method, and computer program product are provided for constructing a hierarchical acceleration data structure that supports ray tracing of motion blur. In use, scene description data associated with an image to be generated is received. Additionally, a hierarchical acceleration data structure for performing ray tracing on the scene description data is constructed, where the hierarchical acceleration data structure supports ray tracing of motion blur.
Claims19
A method, comprising:
- receiving scene description data including triangle primitives associated with an image to be generated, wherein the scene description data includes a tree structure containing a plurality of nodes;
- determining a plurality of node bounding boxes for the plurality of nodes, each node bounding box associated with a node of a hierarchical acceleration data structure in a memory, comprising:
- interpolating vertices of a triangle primitive at a start of a shutter interval and at an end of the shutter interval to generate interpolated vertices at a point in time within the shutter interval, the interpolated vertices defining an interpolated triangle primitive that intersects a first node bounding box of the plurality of node bounding boxes;
- transforming the interpolated triangle primitive to produce a second node bounding box corresponding to the start of the shutter interval;
- and
- transforming the interpolated triangle primitive to produce a third node bounding box corresponding to the end of the shutter interval, wherein the second node bounding box and the third node bounding box bound endpoints of a motion segment;
- and
- storing the second node bounding box and the third node bounding box for the first node of the hierarchical acceleration data structure, the first node referencing the triangle primitive.
The method of 1, further comprising, prior to transforming the interpolated triangle primitive, clipping the interpolated triangle primitive by the first bounding box.
A computer program product embodied on a non-transitory computer readable medium, comprising:
- code for receiving scene description data including triangle primitives associated with an image to be generated, wherein the scene description data includes a tree structure containing a plurality of nodes;
- code for determining a plurality of node bounding boxes for the plurality of nodes, each node bounding box associated with a node of a hierarchical acceleration data structure in a memory, comprising:
- code for interpolating vertices of a triangle primitive at a start of a shutter interval and at an end of the shutter interval to generate interpolated vertices at a point in time within the shutter interval, the interpolated vertices defining an interpolated triangle primitive that intersects a first node bounding box of the plurality of node bounding boxes;
- code for transforming the interpolated triangle primitive to produce a second node bounding box corresponding to the start of the shutter interval;
- and
- code for transforming the interpolated triangle primitive to produce a third node bounding box corresponding to the end of the shutter interval, wherein the second node bounding box and the third node bounding box bound endpoints of a motion segment;
- and
- code for storing the second node bounding box and the third node bounding box for the first node of the hierarchical acceleration data structure, the first node referencing the triangle primitive.
A system, comprising:
- a processor for receiving scene description data including triangle primitives associated with an image to be generated, wherein the scene description data includes a tree structure containing a plurality of nodes, the processor configured to:
- determine a plurality of node bounding boxes for the plurality of nodes, each node bounding box associated with a node of a hierarchical acceleration data structure in a memory, by:
- interpolating vertices of a triangle primitive at a start of a shutter interval and at an end of the shutter interval to generate interpolated vertices at a point in time within the shutter interval, the interpolated vertices defining an interpolated triangle primitive that intersects a first node bounding box of the plurality of node bounding boxes;
- transforming the interpolated triangle primitive to produce a first bounding box corresponding to the start of the shutter interval;
- and
- transforming the interpolated triangle primitive to produce a third node bounding box corresponding to the end of the shutter interval, wherein the second node bounding box and the third node bounding box bound endpoints of a motion segment;
- and
- store the second node bounding box and the third node bounding box for the first node of the hierarchical acceleration data structure, the first node referencing the triangle primitive.
Dependencies are inferred from the claim text.