IP Library › Granted Patent US 12,430,839
Granted Patent B2
US 12,430,839 · App. 18/083,390 · Granted Sep 30, 2025

Temporal and spatial coherence in ray tracing

Inventor: Martin Jon Irwin Fuller (Gaydon, GB)
Assignee: Microsoft Technology Licensing, LLC
G06T15/06
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,430,839
App. No.
18/083,390
Granted
Sep 30, 2025
Kind
B2
Abstract

A ray trace operation includes tracing a ray from an origin point in accordance with a ray path into a virtual environment (where the virtual environment comprises one or more virtual objects defined by one or more object components) and determining an intersected object component of the one or more object components that the ray intersects with. Determining the intersected object component comprises accessing (i) ray trace temporal coherence data based upon a preceding ray trace operation that temporally precedes the ray trace operation or (ii) ray trace spatial coherence data based upon a spatially proximate ray trace operation.

Claims (26)

1. A system for performing ray trace operations based upon temporal coherence data, comprising:

one or more processors; and

one or more hardware storage devices that store instructions that are executable by the one or more processors to configure the system to:

perform a ray trace operation, comprising:

tracing a ray from an origin point in accordance with a ray path into a virtual environment, the virtual environment comprising one or more virtual objects defined by one or more object components; and

determining an intersected object component of the one or more object components that the ray intersects with, wherein determining the intersected object component utilizes ray trace temporal coherence data based upon a preceding ray trace operation that temporally precedes the ray trace operation, wherein determining the intersected object component of the one or more object components comprises:

testing whether the ray intersects with a preceding intersected object component of the one or more object components that a preceding ray of the preceding ray trace operation was determined to intersect with; and

after determining that the ray does not intersect with the preceding intersected object component, testing whether the ray intersects with at least one neighboring object component of a set of neighboring object components, wherein the set of neighboring object components is based on the preceding intersected object component.

2. The system of claim 1 , wherein determining the intersected object component further comprises:

after determining that the ray does not intersect with at least one neighboring object component of the set of neighboring object components, testing whether the ray intersects with any of one or more nodes of an acceleration structure, wherein the one or more nodes encompass the preceding intersected object component; and

after determining that the ray intersects with a particular node of the one or more nodes, testing whether the ray intersects with (i) any child nodes of the particular node or (ii) any object components of the one or more object components encompassed by the particular node.

3. The system of claim 2 , wherein determining the intersected object component further comprises, after determining that the ray does not intersect with any of the one or more nodes, testing whether the ray intersects with a plurality of object components of a virtual object of the one or more virtual objects that includes the preceding intersected object component.

4. The system of claim 1 , wherein the ray trace temporal coherence data is selected based upon one or more motion vectors associated with the origin point, a virtual camera, at least one virtual object, or at least one object component within the virtual environment.

5. The system of claim 1 , wherein the ray trace operation further comprises, in response to determining the intersected object component, testing whether the ray intersects with one or more additional intersected object components between the origin point and the intersected object component.

6. The system of claim 5 , wherein testing whether the ray intersects with the one or more additional intersected object components comprises:

determining a set of candidate virtual objects based upon motion attributes of one or more virtual objects or a virtual camera within the virtual environment; and

determining whether the ray intersects with object components of the set of candidate virtual objects.

7. The system of claim 1 , wherein the ray trace operation further comprises:

in response to determining the intersected object component, refraining from testing whether the ray intersects with one or more additional intersected object components between the intersected object component and a source object within the virtual environment.

8. The system of claim 1 , wherein the ray trace operation further comprises, in response to failing to determine the intersected object component using the ray trace temporal coherence data, testing the ray against at least part of the virtual environment utilizing one or more acceleration structures to determine the intersected object component, and wherein testing the ray against at least the part of the virtual environment utilizing the one or more acceleration structures comprises refraining from testing the ray against components of at least the virtual environment or the one or more acceleration structures against which the ray was tested based upon the ray trace temporal coherence data.

9. A method for performing ray trace operations based upon temporal coherence data, comprising:

performing a ray trace operation, comprising:

tracing a ray from an origin point in accordance with a ray path into a virtual environment, the virtual environment comprising one or more virtual objects defined by one or more object components; and

determining an intersected object component of the one or more object components that the ray intersects with, wherein determining the intersected object component utilizes ray trace temporal coherence data based upon a preceding ray trace operation that temporally precedes the ray trace operation, wherein determining the intersected object component of the one or more object components comprises:

testing whether the ray intersects with a preceding intersected object component of the one or more object components that a preceding ray of the preceding ray trace operation was determined to intersect with; and

after determining that the ray does not intersect with the preceding intersected object component, testing whether the ray intersects with at least one neighboring object component of a set of neighboring object components, wherein the set of neighboring object components is based on the preceding intersected object component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2022
From: FULLER, MARTIN JON IRWIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062131/0988 →
Continuity (2)
Provisional Application 63418299 · Oct 21, 2022
Related Publication 20240135628A1 · Apr 25, 2024
References Cited (19)
US 11373358B2 · Muthler · 2022 [cited by examiner]
US 11922556B2 · Panteleev · 2024 [cited by examiner]
US 20200035014A1 · Pantaleoni · 2020 [cited by examiner]
US 20200327717A1 · Yoon · 2020 [cited by examiner]
US 20220044467A1 · Woop · 2022 [cited by examiner]
US 20220327762A1 · Panteleev · 2022 [cited by examiner]
US 20230196654A1 · Nowicki · 2023 [cited by examiner]
US 20240112392A1 · Pankratz · 2024 [cited by examiner]
US 20240135628A1 · Fuller · 2024 [cited by examiner]
Martin et al., Temporally Coherent Interactive Ray Tracing, 2002 (Year: 2002). [cited by examiner]
Groller et al., Using temporal and spatial coherence for accelerating the calculation of animation sequences, 1991 (Year: 1991). [cited by examiner]
Havran et al., Exploiting Temporal Coherence in Ray Casted Walkthroughs, 2003 (Year: 2003). [cited by examiner]
U.S. Appl. No. 63/418,299, filed Oct. 21, 2022. [cited by applicant]
Groller, et al., “Using temporal and spatial coherence for accelerating the calculation of animation sequences,” Technische Universitat Wien, Sep. 1991, vol. 12, Sep. 2, 1991, pp. 103-113. [cited by applicant]
Havran, et al., “LCTS: Ray Shooting using Longest Common Traversal Sequences,” Computer Graphics Forum, vol. 19, Issue No. 3, Dec. 24, 2001, pp. 59-70. [cited by applicant]
Hendrich, et al., “Ray Classification for Accelerated BVH Traversal”, Computer Graphics Forum, Wiley, vol. 38, Issue No. 4, Jul. 30, 2019, pp. 49-56. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US23/033332, Feb. 23, 2024, 16 pages. [cited by applicant]
MacDonald, et al., “Heuristics for ray tracing using space subdivision,” Visual Computer, Springer, vol. 6, Issue No. 3, May 1990, pp. 153-166. [cited by applicant]
International Preliminary Report On Patentability received for PCT Application No. PCT/US23/033332, May 1, 2025, 13 pages. [cited by applicant]