IP Library Granted Patent US 8,203,555
Granted Patent B2
US 8,203,555 · App. 12/504,437 · Granted Jun 19, 2012

Systems and methods for concurrent ray tracing

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 8,203,555
App. No.
12/504,437
Granted
Jun 19, 2012
Kind
B2
Abstract

For ray tracing scenes composed of primitives, systems and methods can traverse rays through an acceleration structure. The traversal can be implemented by concurrently testing a plurality of nodes of the acceleration structure for intersection with a sequence of one or more rays. Such testing can occur in a plurality of test cells. Leaf nodes of the acceleration structure can bound primitives, and a sequence primitives can be tested concurrently for intersection in the test cells against a plurality of rays that have intersected a given leaf node. Intersection testing of a particular leaf node can be deferred until a sufficient quantity of rays have been collected for that node.

Claims (22)

1. A system for ray tracing, comprising:

a memory storing an acceleration structure for a 3-D scene that is composed of primitives and in which rays are to be traced, the acceleration structure comprising a plurality of nodes, each defining a surface bounding a volume in the 3-D scene, the acceleration structure comprising leaf nodes whose surfaces bound respective selections of the primitives, and non-leaf nodes that each respectively bound a plurality of other nodes;

a plurality of test cells, each configurable to test a ray for intersection with a node of the acceleration structure; and

a controller configured for

traversing a plurality of rays through the acceleration structure by iteratively loading subsets of the nodes into the test cells, and providing one or more rays to be concurrently tested with the nodes loaded into the test cells,

the controller further configured, for leaf nodes,

for collecting each ray into respective collections associated with each leaf node determined to be intersected by that ray, and

for initiating testing of the rays of a collection with the primitives bounded by its associated leaf node surface by distributing the collected rays among the test cells and cycling the primitives through the test cells.

2. The system of claim 1 , wherein the plurality of test cells are implemented by single instruction multiple data units comprised with one or more cores of a processor.

3. The system of claim 2 , wherein one or more of the cores is programmed to implement the controller.

4. One or more non-transitory articles of computer readable media storing computer readable data and code, comprising:

data representative of an acceleration structure for a 3-D scene that is composed of primitives and in which rays are to be traced, the acceleration structure comprising parent nodes that each have two or more child nodes, some of the child nodes being leaf nodes that each bound a respective selection of primitives composing the 3-D scene; and

computer executable code for performing a process comprising identifying at least one ray that has intersected a parent node of the acceleration structure, loading the child nodes for that acceleration structure into respective testers for concurrent testing of the nodes for intersection with each of the one or more rays by cycling each ray through the test cells, and outputting results of the intersection testing.

5. The one or more non-transitory articles of computer readable media of claim 4 , wherein the computer executable code comprises code for programming a single instruction multiple data computation unit.

6. The one or more non-transitory articles of computer readable media of claim 5 , wherein the computer executable code comprises code for using nodes of the acceleration structure as the multiple data.

7. The one or more non-transitory articles of computer readable media of claim 5 , wherein the computer executable code comprises code for using rays as the multiple data for leaf nodes of the acceleration structure.

8. The one or more non-transitory articles of computer readable media of claim 4 , wherein the computer executable code comprises code that identifies the at least one ray by respective ray references and initiates retrieval of definition data for the at least one ray from a memory resource using the ray references.

9. The one or more non-transitory articles of computer readable media of claim 4 , wherein the computer executable code comprises code for maintaining a collection of ray identifiers for rays that have all been determined to intersect the same parent node of the acceleration structure.

10. The one or more non-transitory articles of computer readable media of claim 4 , wherein the computer executable code further comprises code for collecting rays that have been determined to intersect leaf nodes and testing the collected rays concurrently in the test cells by cycling primitives through the test cells.

11. The one or more non-transitory articles of computer readable media of claim 4 , wherein the process further comprises using the results of intersection testing in determining a next node or node to be tested for intersection.

12. The one or more non-transitory articles of computer readable media of claim 4 , wherein the process further comprises testing the primitives of each leaf node by testing a plurality of the primitives for intersection with a different ray in each of the test cells.

13. The one or more non-transitory articles of computer readable media of claim 4 , wherein the process further comprises producing associations of rays with leaf nodes by storing identifiers for each ray associated with a given leaf node in one or more related locations of a memory.

Assignments (3)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2014
From: CAUSTIC GRAPHICS, INC.
To: IMAGINATION TECHNOLOGIES, LTD
Reel/Frame 032446/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2009
From: PETERSON, LUKE TILMAN; MCCOMBE, JAMES ALEXANDER; SALSBURY, RYAN R.
To: CAUSTIC GRAPHICS, INC.
Reel/Frame 022967/0186 →