US 12,236,516 B2
Intersection testing in a ray tracing system
Daniel Barnard, Hertfordshire (GB); Mike Livesley, Hertfordshire (GB); and Gregory Clark, Hertfordshire (GB)
Assigned to Imagination Technologies Limited, Kings Langley (GB)
Filed by Imagination Technologies Limited, Kings Langley (GB)
Filed on Jun. 23, 2022, as Appl. No. 17/847,557.
Claims priority of application No. 2108998 (GB), filed on Jun. 23, 2021.
Prior Publication US 2023/0023323 A1, Jan. 26, 2023
Int. Cl. G06T 15/06 (2011.01); G06T 15/00 (2011.01); G06T 15/08 (2011.01)
CPC G06T 15/06 (2013.01) [G06T 15/005 (2013.01); G06T 15/08 (2013.01); G06T 2210/12 (2013.01); G06T 2210/21 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of processing a ray in a ray tracing system, comprising:
performing intersection testing for the ray by performing one or more intersection testing iterations, wherein each intersection testing iteration comprises:
traversing an acceleration structure to identify the nearest intersection of the ray with a primitive that has not been identified as the nearest intersection in any previous intersection testing iterations for the ray, and
in response to determining, based on a characteristic of the primitive, that a traverse shader is to be executed in respect of the identified intersection:
executing the traverse shader in respect of the identified intersection, and
in response to the execution of the traverse shader determining that the ray does not intersect the primitive at the identified intersection, causing another intersection testing iteration to be performed; and
when the intersection testing for the ray is complete, executing an output shader to process a result of the intersection testing for the ray;
wherein a traverse shader is executed in respect of an identified intersection for the ray in at least one of the one or more intersection testing iterations.