IP Library Granted Patent US 8,384,711
Granted Patent B2
US 8,384,711 · App. 12/515,812 · Granted Feb 26, 2013

Ray tracing a three dimensional scene using a grid

Inventors: Ingo Wald (Salt Lake City, UT); Santiago Ize (Salt Lake City, UT); Steven G. Parker (Salt Lake City, UT); Aaron Knoll (Sandy, UT)
Assignee: The University of Utah Research Foundation
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,384,711
App. No.
12/515,812
Granted
Feb 26, 2013
Kind
B2
Abstract

Ray tracing a three-dimensional scene using a grid. One example embodiment is a method for ray tracing a three-dimensional scene using a grid. In this example method, the three-dimensional scene is made up of objects that are spatially partitioned into a plurality of cells that make up the grid. The method includes a first act of computing a bounding frustum of a packet of rays, and a second act of traversing the grid slice by slice along a major traversal axis. Each slice traversal includes a first act of determining one or more cells in the slice that are overlapped by the frustum and a second act of testing the rays in the packet for intersection with any objects at least partially bounded by the one or more cells overlapped by the frustum.

Claims (46)

1. A method, performed by a computer system, for ray tracing a three-dimensional scene made up of objects that are spatially partitioned into a grid, the grid including a plurality of cells, the method comprising the following acts:

a) computing, on at least one processor, a bounding frustum of a packet of rays; and

b) traversing the grid slice by slice along a major traversal axis, each slice traversal comprising the following acts:

i) determining one or more cells in the slice that are overlapped by the frustum; and

ii) testing the rays in the packet for intersection with any objects at least partially bounded by the one or more cells overlapped by the frustum.

2. The method as recited in claim 1 , wherein the act ii) further comprises SIMD frustum culling or vertex culling.

3. The method as recited in claim 1 , wherein the act ii) further comprises mailboxing.

4. The method as recited in claim 1 , wherein the rays in the packet of rays are coherent.

5. The method as recited in claim 1 , wherein the grid is uniform, non-uniform, hierarchical, or recursive.

6. The method as recited in claim 1 , wherein at least one cell in the grid defines a volume that is filled with a bounding box defined by an acceleration structure.

7. The method as recited in claim 1 , wherein at least one of the objects is a grid, a kd-tree, a BVH, an octree, a BSP, or some combination thereof.

8. The method as recited in claim 1 , wherein the act i) comprises determining the one or more cells in the slice that are overlapped by a bounding rectangle of the frustum or a rasterization of the exact frustum shape.

9. The method as recited in claim 1 , wherein the frustum is substantially cone-shaped, substantially square-pyramid-shaped, or has a cross-section of any convex or non-convex polygon.

10. The method as recited m claim 1 , wherein the act b) further comprises the act of:

dividing packets of rays that are not coherent.

11. The method as recited in claim 1 , wherein the act b) further comprises the act of:

recomputing the bounding frustum of the packet of rays without considering rays in the packet that are no longer active.

12. A method, performed by a computer system, for ray tracing a three-dimensional scene made up of objects using a grid that includes a plurality of cells, the method comprising the following acts:

a) spatially partitioning a scene of objects into a grid;

b) computing, on at least one processor, a bounding frustum of a packet of coherent rays;

c) traversing the grid slice by slice along a major traversal axis, each slice traversal comprising the following acts:

i) determining one or more cells in the slice that are overlapped by the frustum; and

ii) testing the rays in the packet for intersection with any objects at least partially bounded by the one or more cells overlapped by the frustum; and

d) repeating acts a)-c) using an altered scene of objects.

13. The method as recited in claim 12 , wherein the act ii) further comprises SIMD frustum culling or vertex culling.

14. The method as recited in claim 12 , wherein the act ii) further comprises mailboxing.

15. The method as recited in claim 12 , wherein the grid is uniform, non-uniform, hierarchical, or recursive.

16. The method as recited in claim 12 , wherein at least one cell in the grid defines a volume that is filled with a bounding box defined by an acceleration structure.

17. The method as recited in claim 12 , wherein at least one of the objects is a grid, a kd-tree, a BVH, an octree, a BSP, or some combination thereof.

18. One or more non-transitory computer-readable media having computer-readable instructions thereon which, when executed, implement a method for ray tracing a three-dimensional scene made up of objects that are spatially partitioned into a grid, the grid including a plurality of cells, the method comprising the acts of:

a) computing a bounding frustum of a packet of rays; and

b) traversing the grid slice by slice along a major traversal axis, each slice traversal comprising the following acts:

i) determining one or more cells in the slice that are overlapped by the frustum; and

ii) testing the rays in the packet for intersection with any objects at least partially bounded by the one or more cells overlapped by the frustum.

19. The one or more non-transitory computer-readable media as recited in claim 18 , wherein the act ii) further comprises SIMD frustum culling or vertex culling.

20. The one or more non-transitory computer-readable media as recited in claim 18 , wherein the act ii) further comprises mailboxing.

21. The one or more non-transitory computer-readable media as recited m claim 18 , wherein the rays in the packet of rays are coherent.

22. The one or more non-transitory computer-readable media as recited in claim 18 , wherein the grid is uniform, non-uniform, hierarchical, or recursive.

23. The one or more non-transitory computer-readable media as recited in claim 18 , wherein at least one cell in the grid defines a volume that is filled with a bounding box defined by an acceleration structure.

24. The one or more non-transitory computer-readable media as recited in claim 18 , wherein at least one of the objects is a grid, a kd-tree, a BVH, an octree, a BSP, or some combination thereof.

25. The one or more non-transitory computer-readable media as recited in claim 18 , wherein the act i) comprises determining the one or more cells in the slice that are overlapped by a bounding rectangle of the frustum or a rasterization of the exact frustum shape.

26. The one or more non-transitory computer-readable media as recited in claim 18 , wherein the frustum is substantially cone-shaped, square-pyramid-shaped, or has a cross-section of any convex or non-convex polygon.

27. The one or more non-transitory computer-readable media as recited in claim 18 , wherein the act b) further comprises the act of:

dividing packets of rays that are not coherent.

28. The one or more non-transitory computer-readable media as recited in claim 18 , wherein the act b) further comprises the act of:

recomputing the bounding frustum of the packet of rays without considering rays in the packet that are no longer active.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2013
From: IZE, SANTIAGO; WALD, INGO; PARKER, STEVEN G.; KNOLL, AARON
To: THE UNIVERSITY OF UTAH RESEARCH FOUNDATION
Reel/Frame 029620/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2013
From: THE UNIVERSITY OF UTAH
To: THE UNIVERSITY OF UTAH RESEARCH FOUNDATION
Reel/Frame 029620/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2013
From: IZE, SANTIAGO; WALD, INGO; PARKER, STEVEN G.; KNOLL, AARON
To: THE UNIVERSITY OF UTAH
Reel/Frame 029620/0647 →
Continuity (2)
Provisional Application 60867781 · Nov 29, 2006
Related Publication 20100194751A1 · Aug 5, 2010