IP Library Granted Patent US 12,380,626
Granted Patent B2
US 12,380,626 · App. 17/948,547 · Granted Aug 5, 2025

Systems and methods for 3-D scene acceleration structure creation and updating

Inventors: James A. McCombe (San Francisco, CA); Aaron Dwyer (San Francisco, CA); Luke T. Peterson (San Francisco, CA); Neils Nesse (San Francisco, CA)
Assignee: Imagination Technologies Limited
G06T15/06G06T15/08G06T15/80G06T17/00G06T17/10G06T2210/12G06T2210/32
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,380,626
App. No.
17/948,547
Granted
Aug 5, 2025
Kind
B2
Abstract

Systems and methods for producing an acceleration structure provide for subdividing a 3-D scene into a plurality of volumetric portions, which have different sizes, each being addressable using a multipart address indicating a location and a relative size of each volumetric portion. A stream of primitives is processed by characterizing each according to one or more criteria, selecting a relative size of volumetric portions for use in bounding the primitive, and finding a set of volumetric portions of that relative size which bound the primitive. A primitive ID is stored in each location of a cache associated with each volumetric portion of the set of volumetric portions. A cache location is selected for eviction, responsive to each cache eviction decision made during the processing. An element of an acceleration structure according to the contents of the evicted cache location is generated, responsive to the evicted cache location.

Claims (25)

1. A method of building an acceleration structure for use in ray tracing, the method comprising:

mapping a part of a scene to a memory location in a memory, said mapping being performed using a hash function; and

evicting the memory location so as to form an element of the acceleration structure that aggregates one or more parts of the scene mapped to that memory location.

2. The method of claim 1 , further comprising performing ray tracing using the acceleration structure.

3. The method of claim 1 , wherein the memory is a cache, and the memory location is a cache location.

4. The method of claim 1 , wherein the part of the scene is a primitive, a part of a primitive or a coverage formed for an element of the acceleration structure at a more granular level of granularity relative to the level of granularity for which said mapping is being performed.

5. The method of claim 4 , wherein parts of the scene are distributed across a number of levels of granularity, each level of granularity dividing the scene into one or more voxels, wherein more granular levels of granularity represent the scene using a greater number of smaller voxels relative to less granular levels of granularity, and less granular levels of granularity represent the scene using a smaller number of larger voxels relative to more granular levels of granularity.

6. The method of claim 5 , wherein a coverage is a portion of a voxel that bounds all geometry at least partially contained in that voxel.

7. The method of claim 5 , wherein the scene is a three-dimensional scene, and a voxel is a volume containing a portion of the scene.

8. The method of claim 1 , wherein the hash function is configured to hash an address of the part of the scene to produce a hash value.

9. The method of claim 8 , wherein the hash value is used to identify one or more candidate memory locations.

10. The method of claim 8 , wherein the address comprises a spatial coordinate and data identifying a level of granularity for the part of the scene.

11. The method of claim 1 , further comprising forming a coverage for the element of the acceleration structure, that coverage bounding each of the one or more parts of the scene mapped to same memory location.

12. A system configured to build an acceleration structure for use in ray tracing, the system comprising:

a memory; and

processing logic configured to:

map a part of a scene to a memory location in the memory, said mapping being performed using a hash function; and

evict the memory location so as to form an element of the acceleration structure that aggregates one or more parts of the scene mapped to that memory location.

13. The system of claim 12 , wherein the processing logic is further configured to perform ray tracing using the acceleration structure.

14. The system of claim 12 , wherein the memory is a cache, and the memory location is a cache location.

15. The system of claim 12 , wherein the part of the scene is a primitive, a part of a primitive or a coverage formed for an element of the acceleration structure at a more granular level of granularity relative to the level of granularity for which said mapping is being performed.

16. The system of claim 12 , wherein the hash function is configured to hash an address of the part of the scene to produce a hash value.

17. The system of claim 16 , wherein the hash value is used to identify one or more candidate memory locations.

18. The system of claim 16 , wherein the address comprises a spatial coordinate and data identifying a level of granularity for the part of the scene.

19. The system of claim 12 , wherein the processing logic is further configured to form a coverage for the element of the acceleration structure, that coverage bounding each of the one or more parts of the scene mapped to same memory location.

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
Continuity (7)
Continuation 17165347 · Feb 2, 2021
Continuation 16245088 · Jan 10, 2019
Continuation 15251732 · Aug 30, 2016
Continuation 14248033 · Apr 8, 2014
Continuation 13567033 · Aug 4, 2012
Provisional Application 61515801 · Aug 5, 2011
Related Publication 20230016561A1 · Jan 19, 2023
References Cited (32)
US 5530958A · Agarwal · 1996 [cited by examiner]
US 6597359B1 · Lathrop · 2003 [cited by applicant]
US 7034825B2 · Stowe et al. · 2006 [cited by applicant]
US 7145562B2 · Schechter et al. · 2006 [cited by applicant]
US 7969434B2 · Peterson et al. · 2011 [cited by applicant]
US 8018457B2 · Peterson et al. · 2011 [cited by applicant]
US 8188997B2 · Dammertz et al. · 2012 [cited by applicant]
US 8570322B2 · Hanika et al. · 2013 [cited by applicant]
US 9069792B1 · Craighead · 2015 [cited by examiner]
US 20040125103A1 · Kaufman et al. · 2004 [cited by applicant]
US 20070182732A1 · Woop et al. · 2007 [cited by applicant]
US 20080192050A1 · Schardt et al. · 2008 [cited by applicant]
US 20080204451A1 · Im et al. · 2008 [cited by applicant]
US 20090167763A1 · Waechter et al. · 2009 [cited by applicant]
US 20090182949A1 · Begon · 2009 [cited by examiner]
US 20100033482A1 · Zhou et al. · 2010 [cited by applicant]
US 20100060634A1 · Wald et al. · 2010 [cited by applicant]
US 20100238169A1 · Fowler · 2010 [cited by examiner]
US 20100332523A1 · Peterson et al. · 2010 [cited by applicant]
US 20110043521A1 · Smyth · 2011 [cited by applicant]
US 20130033507A1 · Garanzha et al. · 2013 [cited by applicant]
CN 1942904A · 2007 [cited by applicant]
CN 101192310A · 2008 [cited by applicant]
CN 101089684A · 2010 [cited by applicant]
CN 102282591A · 2011 [cited by applicant]
Christensen et al.,“An Irradiance Atlas for Global Illumination in Complex Production Scenes,” Eurographics Symposium on Rendering, 2004, 10 pages. [cited by applicant]
Garanzha et al; “Grid-based Sah Bvh construction on a GPU”; vol. 27; 2011; No. 6-8; pp. 697-706. [cited by applicant]
Kallberg et al; “Ray Tracing using Hierarchies of Slab Cut Balls”; The Eurographics Association 2010; pp. 1-4. [cited by applicant]
Pantaleoni et al; “PantaRay: Fast-Ray-traced Occlusion Caching of Massive Scenes”; ACM Transactions on Graphics; vol. 29; No. 4; Jul. 2010; pp. 1-10. [cited by applicant]
Suri et al; “Analyzing Bounding Boxes for Object Intersection”; ACM Transactions on Graphics, vol. 18; No. 3; Jul. 1999; ; pp. 257-277. [cited by applicant]
Wikipedia; “Rasterisation”; https://en. wikipedia.org/w/index.php?title=Rasterisation&oldid=44149 | 342; pp. 1-8. [cited by applicant]
Yoon et al; “Cache-Efficient Layouts of Bounding Volume Hierarchies”; The Eurographics Association and Blackwell Publishing 2006; vol. 25 (2006) No. 3; pp. 507-516. [cited by applicant]