Method and apparatus for the proper ordering and enumeration of multiple successive ray-surface intersections within a ray tracing architecture
AssigneeIntel Corporation
InventorIngo Wald
Life of this patent
Estimating the term…
Abstract
An apparatus and method are described for performing a distance test in a ray tracing system. For example, one embodiment of a graphics processing apparatus comprises: a ray tracing traversal/intersection unit to identify two or more ray-surface intersections, each of the ray-surface intersections being assigned a unique hit point identifier (ID); and a distance testing module to disambiguate the order of the ray-surface intersections using the hit point ID if the two or more of the ray-surface intersections share the same distance.
Claims18
A method for traversing bounding volume hierarchies (BVHs) comprising a plurality of BVH nodes comprising:
- (a) queuing a plurality of untraversed nodes and a current closest hitpoint for a ray, wherein the plurality of untraversed nodes is queued based on their distances to a ray origin, with a closest node of the untraversed nodes to the ray origin being at front of the queue, and wherein two nodes having a same distance to the ray origin are ordered in the queue based on unique hitpoint identifiers of the two nodes;
- (b) identifying the closest node of the untraversed nodes;
- (c) if the closest node is not further than the current closest hitpoint and is a leaf node, then identifying an intersection for the closest node and accepting the intersection only if it is closer than the current closest hitpoint;
- and
- (d) if the closest node is not further than the current closest hitpoint and is not a leaf node, then enqueuing child nodes of the closest node that intersect the ray along with a respective distance for each child node, wherein enqueuing two or more child nodes that intersect the ray comprises ordering the two or more child nodes based on their distances to the ray origin.
A graphics processing apparatus comprising:
- a storage unit to store bounding volume hierarchies (BVHs);
- and
- a ray tracing traversal/intersection unit, coupled to the storage unit to traverse the BVHs,
- where the traversing comprises:
- (a) queuing a plurality of untraversed nodes and a current closest hitpoint for a ray, wherein the plurality of untraversed nodes is queued based on their distances to a ray origin, with a closest node of the untraversed nodes to the ray origin being at front of the queue, and wherein two nodes having a same distance to the ray origin are ordered in the queue based on unique hitpoint identifiers of the two nodes;
- (b) identifying the closest node of the untraversed nodes;
- (c) if the closest node is not further than the current closest hitpoint and is a leaf node, then identifying an intersection for the closest node and accepting the intersection only if it is closer than the current closest hitpoint;
- and
- (d) if the closest node is not further than the current closest hitpoint and is not a leaf node, then enqueuing child nodes of the closest node that intersect the ray along with a respective distance for each child node, wherein enqueuing two or more child nodes that intersect the ray comprises ordering the two or more child nodes based on their distances to the ray origin.
Dependencies are inferred from the claim text.