IP Library › Granted Patent US 10,937,225
Granted Patent B2
US 10,937,225 · App. 16/236,271 · Granted Mar 2, 2021

Cell primitive for unstructured volume rendering

Inventors: Timothy Rowley (Austin, TX); Won-Jong Lee (Santa Clara, CA); Karol Szerszen (Hillsboro, OR); Hiroshi Akiba (San Jose, CA); Alexey Supikov (San Jose, CA)
Assignee: Intel Corporation
G06T15/06G06T15/08G06T17/10G06T17/30G06T2207/20016G06T2210/12
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 10,937,225
App. No.
16/236,271
Granted
Mar 2, 2021
Kind
B2
Abstract

Apparatus and method including cell primitive for unstructured volume rendering. For example, one embodiment of an apparatus comprises: a ray generator to generate a plurality of rays in a first graphics scene; a hierarchical acceleration data structure generator to construct a hierarchical acceleration data structure comprising a plurality of hierarchically arranged nodes including leaf nodes and inner nodes; traversal circuitry to traverse one or more of the rays through the hierarchical acceleration data structure; unstructured volume intersection circuitry to intersect a ray with an unstructured volume primitive within a leaf node of the hierarchical acceleration data structure, the unstructured volume intersection circuitry to determine multiple intersection hits between a ray and an unstructured volume primitive.

Claims (35)

1. An apparatus comprising:

a ray generator to generate a plurality of rays in a first graphics scene;

a hierarchical acceleration data structure generator to construct a hierarchical acceleration data structure comprising a plurality of hierarchically arranged nodes including leaf nodes and inner nodes;

traversal circuitry to traverse one or more of the plurality of rays through the hierarchical acceleration data structure; and

intersection circuitry to intersect a ray within the plurality of rays with primitives within a leaf node of the hierarchical acceleration data structure, comprising:

when a primitive is determined to be an unstructured volume primitive that comprises one of a tetrahedron, a voxel, a hexahedron, a wedge, and a pyramid, identifying multiple intersection hits between the ray and the unstructured volume primitive, wherein identifying the multiple intersection hits comprises determining coordinates of an entry hit indicating a point at which the ray enters the unstructured volume primitive and an exit hit indicating a point at which the ray exits the unstructured volume primitive, and wherein the entry hit and exit hit are used to generate secondary rays for the unstructured volume primitive, and

when a primitive is identified as a triangle, identifying a single intersection hit to generate second rays for the triangle.

2. The apparatus of claim 1 wherein coordinates associated with one or more nodes of the hierarchical acceleration data structure are to be changed.

3. The apparatus of claim 2 wherein the hierarchical acceleration data structure comprises a bounding volume hierarchy (BVH).

4. The apparatus of claim 3 wherein changing the coordinates is to perform a bottom-up refit of the BVH comprising a first sequence of operations to refit bounding volumes associated with the leaf nodes followed by a second sequence of operations to refit the bounding volumes associated with the inner nodes.

5. The apparatus of claim 4 wherein refitting bounding volumes associated with one or more of the inner nodes comprises merging one or more child nodes into one or more inner nodes.

6. A method comprising:

generating a plurality of rays in a first graphics scene;

constructing a hierarchical acceleration data structure comprising a plurality of hierarchically arranged nodes including leaf nodes and inner nodes;

traversing one or more of the plurality of rays through the hierarchical acceleration data structure; and

intersecting a ray within the plurality of rays with primitives within a leaf node of the hierarchical acceleration data structure, wherein intersecting comprises:

when a primitive is determined to be an unstructured volume primitive that comprises one of a tetrahedron, a voxel, a hexahedron, a wedge, and a pyramid, identifying multiple intersection hits between the ray and the unstructured volume primitive, wherein identifying the multiple intersection hits comprises determining coordinates of an entry hit indicating a point at which the ray enters the unstructured volume primitive and an exit hit indicating a point at which the ray exits the unstructured volume primitive, and wherein the entry hit and exit hit are used to generated secondary rays for the unstructured volume primitive, and

when a primitive is identified as a triangle, identifying a single intersection hit to generate second rays for the triangle.

7. The method of claim 6 further comprising:

changing coordinates associated with one or more nodes of the hierarchical acceleration data structure.

8. The method of claim 7 wherein the hierarchical acceleration data structure comprises a bounding volume hierarchy (BVH).

9. The method of claim 8 wherein changing the coordinates is to perform a bottom-up refit of the BVH comprising a first sequence of operations to refit bounding volumes associated with the leaf nodes followed by a second sequence of operations to refit the bounding volumes associated with the inner nodes.

10. The method of claim 9 wherein refitting bounding volumes associated with one or more of the inner nodes comprises merging one or more child nodes into one or more inner nodes.

11. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:

generating a plurality of rays in a first graphics scene;

constructing a hierarchical acceleration data structure comprising a plurality of hierarchically arranged nodes including leaf nodes and inner nodes;

traversing one or more of the plurality of rays through the hierarchical acceleration data structure;

intersecting a ray within the plurality of rays with primitives within a leaf node of the hierarchical acceleration data structure, wherein intersecting comprises:

when a primitive is determined to be an unstructured volume primitive that comprises one of a tetrahedron, a voxel, a hexahedron, a wedge, and a pyramid, identifying multiple intersection hits between the ray and the unstructured volume primitive, wherein identifying the multiple intersection hits comprises determining coordinates of an entry hit indicating a point at which the ray enters the unstructured volume primitive and an exit hit indicating a point at which the ray exits the unstructured volume primitive, and wherein the entry hit and exit hit are used to generated secondary rays for the unstructured volume primitive, and

when a primitive is identified as a triangle, identifying a single intersection hit to generate second rays for the triangle.

12. The non-transitory machine-readable medium of claim 11 comprising program code to cause the machine to perform the operations of:

changing coordinates associated with one or more nodes of the hierarchical acceleration data structure.

13. The non-transitory machine-readable medium of claim 12 wherein the hierarchical acceleration data structure comprises a bounding volume hierarchy (BVH).

14. The non-transitory machine-readable medium of claim 13 wherein changing the coordinates is to perform a bottom-up refit of the BVH comprising a first sequence of operations to refit bounding volumes associated with the leaf nodes followed by a second sequence of operations to refit the bounding volumes associated with the inner nodes.

15. The non-transitory machine-readable medium of claim 14 wherein refitting bounding volumes associated with one or more of the inner nodes comprises merging one or more child nodes into one or more inner nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2019
From: ROWLEY, TIMOTHY; LEE, WON-JONG; SZERSZEN, KAROL; AKIBA, HIROSHI; SUPIKOV, ALEXEY
To: INTEL CORPORATION
Reel/Frame 050031/0775 →
Continuity (1)
Related Publication 20200211267A1 · Jul 2, 2020