IP Library Granted Patent US 12,394,136
Granted Patent B2
US 12,394,136 · App. 18/114,483 · Granted Aug 19, 2025

Intersection testing in a ray tracing system using comparison of intersection distance differences between primitive intersections

Inventors: Peter Smith-Lacey (Hertfordshire, GB); Simon Fenney (Hertfordshire, GB); Gregory Clark (Hertfordshire, GB); Rostam King (Hertfordshire, GB)
Assignee: Imagination Technologies Limited
G06T15/06G06T15/005G06T17/20G06T2210/21
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,394,136
App. No.
18/114,483
Granted
Aug 19, 2025
Kind
B2
Abstract

A method and an intersection testing module for performing intersection testing in a ray tracing system determines if a difference between an intersection distance at which a ray intersects a first primitive and an intersection distance at which the ray intersects a second primitive satisfies a comparison condition with respect to a threshold, and if the orientations of the first and second primitives are different. If so the intersection of the ray with the one of the first and second primitives which has a particular orientation is selected.

Claims (38)

1. A computer-implemented method of performing intersection testing in a ray tracing system, the method comprising:

if a difference between an intersection distance at which a ray intersects a first primitive and an intersection distance at which the ray intersects a second primitive satisfies a comparison condition with respect to a threshold, and if the orientations of the first and second primitives are different, selecting the intersection of the ray with the one of the first and second primitives which has a particular orientation.

2. The method of claim 1 , wherein the comparison condition is satisfied with respect to the threshold if the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive is less than the threshold.

3. The method of claim 1 , wherein the comparison condition is satisfied with respect to the threshold if the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive is less than or equal to the threshold.

4. The method of claim 1 , comprising:

determining that the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive satisfies the comparison condition with respect to the threshold; and

determining that the orientations of the first and second primitives are different,

wherein said selecting the intersection of the ray with the one of the first and second primitives which has a particular orientation is performed in response to determining that: (i) the difference between the intersection distance at which a ray intersects a first primitive and the intersection distance at which the ray intersects a second primitive satisfies the comparison condition with respect to the threshold, and (ii) the orientations of the first and second primitives are different.

5. The method of claim 4 , wherein said selecting the intersection of the ray with the one of the first and second primitives which has a particular orientation comprises selecting the intersection of the ray with said one of the first and second primitives on the basis that said one of the first and second primitives has said particular orientation.

6. The method of claim 4 , wherein said determining that the difference between the intersection distance at which a ray intersects a first primitive and the intersection distance at which the ray intersects a second primitive satisfies the comparison condition with respect to the threshold comprises:

determining the intersection distance at which the ray intersects the first primitive;

determining the intersection distance at which the ray intersects the second primitive; and

comparing the determined intersection distances.

7. The method of claim 4 , wherein the threshold is zero.

8. The method of claim 7 , wherein said determining that the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive satisfies the comparison condition with respect to the threshold comprises determining that the intersection distances at which the ray intersects the first and second primitives are equal.

9. The method of claim 1 , further comprising:

if the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive does not satisfy the comparison condition with respect to the threshold, selecting the intersection of the ray with the one of the first and second primitives which has the smaller intersection distance.

10. The method of claim 1 , wherein a primitive which has said particular orientation is a front-facing primitive, and wherein a primitive which has an orientation that is different to said particular orientation is a back-facing primitive.

11. The method of claim 1 , further comprising determining that the ray intersects the first and second primitives.

12. The method of claim 1 , further comprising:

if the intersection distance at which the ray intersects the first primitive is equal to the intersection distance at which the ray intersects the second primitive, and if the orientations of the first and second primitives are the same, selecting the intersection of the ray with one of the first and second primitives using a deterministic fallback tie-break rule instead of selecting the intersection of the ray with the one of the first and second primitives which has the particular orientation.

13. The method of claim 12 wherein, if the orientations of the first and second primitives are different, selecting the intersection of the ray with the one of the first and second primitives comprises not applying the deterministic fallback tie-break rule.

14. The method of claim 1 , further comprising using the selected intersection in the ray tracing system for rendering an image.

15. An intersection testing module, for use in a ray tracing system, the intersection testing module comprising:

intersection selection logic configured to, if a difference between an intersection distance at which a ray intersects a first primitive and an intersection distance at which the ray intersects a second primitive satisfies a comparison condition with respect to a threshold, and if the orientations of the first and second primitives are different, select the intersection of the ray with the one of the first and second primitives which has a particular orientation.

16. A computer-implemented method of performing intersection testing in a ray tracing system, the method comprising:

determining that an intersection distance at which a ray intersects a first primitive is equal to an intersection distance at which the ray intersects a second primitive;

determining that the orientations of the first and second primitives are different; and

selecting the intersection of the ray with one of the first and second primitives on the basis that said one of the first and second primitives has a particular orientation.

17. The intersection testing module of claim 15 , wherein the comparison condition is satisfied with respect to the threshold if the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive is less than the threshold.

18. The intersection testing module of claim 15 , wherein the comparison condition is satisfied with respect to the threshold if the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive is less than or equal to the threshold.

19. The intersection testing module of claim 15 , further comprising intersection determination logic configured to:

determine that the ray intersects the first primitive and determine the intersection distance at which the ray intersects the first primitive; and

determine that the ray intersects the second primitive and determine the intersection distance at which the ray intersects the second primitive.

20. The intersection testing module of claim 15 , wherein the intersection selection logic is configured to:

determine that the difference between the intersection distance at which the ray intersects the first primitive and the intersection distance at which the ray intersects the second primitive satisfies the comparison condition with respect to the threshold;

determine that the orientations of the first and second primitives are different; and

select the intersection of the ray with one of the first and second primitives on the basis that said one of the first and second primitives has the particular orientation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2025
From: SMITH-LACEY, PETER; FENNEY, SIMON; CLARK, GREGORY; KING, ROSTAM
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 071405/0830 →
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →