Coherency Gathering for Ray Tracing
AssigneeImagination Technologies Limited
InventorsMichael John Livesley, Gregory Clark
Life of this patent
Estimating the term…
Abstract
A system and method for coherency gathering for rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes including upper level nodes and lower level nodes. For each instance where one of the lower level nodes is a child of one of the upper level nodes, an instance transform is defined, specifying the relationship between a first coordinate system of the upper level node and the second coordinate system for that instance of the lower level node. The system provides an instance transform cache for storing a plurality of these instance transforms while conducting intersection testing.
Claims20
A method of coherency gathering for rays in a ray tracing system, the method comprising:
- defining a plurality of rays, each ray having associated with it ray information defining the ray,
- defining an acceleration structure comprising a plurality of nodes,
- wherein the nodes are instantiated within the acceleration structure in one or more instances, each instance associated with an instance transform specifying a relationship between the plurality of rays and a coordinate system for that instance,
- the method further comprising:
- gathering together a plurality of groups of rays, wherein each group requires intersection testing against an instance of a respective node in the acceleration structure;
- selecting one of the groups for intersection testing based on detecting that computational resources for performing the intersection testing are under-utilised;
- and
- submitting the selected group of rays for intersection testing.
A system for coherency gathering for rays in a ray tracing system, the system comprising:
- a ray store, configured to store ray information of a plurality of rays, the ray information for each ray defining the ray;
- a memory, configured to store:
- information associated with each of a plurality of nodes of an acceleration structure, wherein the nodes are instantiated within the acceleration structure in one or more instances, each instance associated with an instance transform specifying the relationship between the plurality of rays and a coordinate system for that instance,
- the memory being further configured to store the instance transforms;
- and
- a coherency gathering unit, configured to:
- gather together a plurality of groups of rays, wherein each group requires intersection testing against an instance of a respective node in the acceleration structure;
- select one of the groups for intersection testing based on detecting that computational resources for performing the intersection testing are under-utilised;
- and
- submit the selected group of rays for intersection testing.
Dependencies are inferred from the claim text.