Methods and systems for constructing ray tracing acceleration structures
AssigneeImagination Technologies Limited
InventorSimon Fenney
Life of this patent
Estimating the term…
Abstract
A computer-implemented method of creating a bounding volume hierarchy (BVH) for a model defined with respect to a local coordinate system for the model. The method includes defining BVH branch nodes within the model, establishing a plurality of local transformation matrices for the BVH; and for each BVH branch node, determining a first bounding volume and associating the branch node with one of the plurality of local transformation matrices that maps between the first bounding volume and a second bounding volume in the local coordinate system.
Claims20
A computer-implemented method of creating a bounding volume hierarchy (BVH) for a model defined with respect to a local coordinate system for the model, the method comprising:
- defining a plurality of BVH nodes within the model,
- establishing a plurality of local transformation matrices for the BVH;
- and
- for each of the plurality of BVH nodes, determining a first bounding volume, and associating the node with one of the plurality of local transformation matrices that maps between the first bounding volume and a second bounding volume, in the local coordinate system.
A computer-implemented method of tracing a ray through an acceleration structure for a scene defined with respect to an overall coordinate system, the scene comprising a model defined with respect to a local coordinate system for the model, and wherein the model is instanced in the scene by applying a model transformation matrix for positioning the model in the overall coordinate system, the method comprising:
- determining that a ray intersection test is required for a node of the acceleration structure representing the instance of the model;
- and
- evaluating if the ray intersects with a node of a bounding volume hierarchy (BVH) for the instance of the model, the node having a first bounding volume defined in the model coordinate system, wherein the evaluating comprises:
- identifying, from a plurality of instance transformation matrices defined for the BVH, an instance transformation matrix associated with the node, and
- transforming the ray using the identified instance transformation matrix, to perform a test to find if the ray intersects with the branch node,
- wherein the identified transformation matrix represents a combination of the inverse of the model transformation matrix and a mapping between the first bounding volume for the node and a second bounding volume in the local coordinate system.
A ray tracing system configured to create a bounding volume hierarchy (BVH) for a model defined with respect to a local coordinate system for the model, the system comprising a module configured to:
- define a plurality of BVH nodes within the model,
- establish a plurality of local transformation matrices for the BVH;
- for each of the plurality of BVH nodes, determine a first bounding volume and associate the node with one of the plurality of local transformation matrices that maps between the first bounding volume and a second bounding volume in the local coordinate system;
- and
- store in memory the BVH, including the second bounding volume and the association between the node and the one of the plurality of local transformation matrices.
Dependencies are inferred from the claim text.