US2022130097A1PendingUtilityA1

Apparatus and method for asynchronous ray tracing

Assignee: INTEL CORPPriority: Mar 15, 2020Filed: Aug 3, 2021Published: Apr 28, 2022
Est. expiryMar 15, 2040(~13.6 yrs left)· nominal 20-yr term from priority
G06T 15/005G06T 15/06G06T 1/20G06T 2210/12G06F 3/0673G06F 3/0604G06T 1/60G06F 3/0659G06T 2200/28G06T 15/80
68
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Apparatus and method for asynchronous ray tracing. For example, one embodiment of a processor comprises: a bounding volume hierarchy (BVH) generator to construct a BVH comprising a plurality of hierarchically arranged nodes including a root node, a plurality of internal nodes, and a plurality of leaf nodes comprising primitives, wherein each internal node comprises a child node to either the root node or another internal node and each leaf node comprises a child node to an internal node; a first storage bank to be arranged as a first plurality of entries; a second storage bank to be arranged as a second plurality of entries, wherein each entry of the first plurality of entries and the second plurality of entries is to store a ray to be traversed through the BVH; an allocator circuit to distribute an incoming ray to either the first storage bank or the second storage bank based on a relative numbers of rays currently stored in the first and second storage banks; and traversal circuitry to alternate between selecting a next ray from the first storage bank and the second storage bank, the traversal circuitry to traverse the next ray through the BVH by reading a next BVH node from a top of a BVH node stack and determining whether the next ray intersects the next BVH node.

Claims

exact text as granted — not AI-modified
1 - 36 . (canceled) 
     
     
         37 . An apparatus comprising:
 a bounding volume hierarchy (BVH) generator to construct a BVH comprising a plurality of hierarchically arranged nodes including a plurality of internal nodes and a plurality of non-internal nodes, wherein each internal node comprises a root node or a child node to either the root node or another internal node;   a first storage bank to store a first plurality of the internal nodes and a first plurality of the non-internal nodes;   a second storage bank to store a second plurality of the internal nodes and a second plurality of the non-internal nodes;   non-internal node priority selection circuitry to request, in parallel, a first non-internal node from the first storage bank and a second non-internal node from the second storage bank, and to prioritize one of the first and the second non-internal node;   internal node priority selection circuitry to request, in parallel, a first internal node from the first storage bank and a second internal node from the second storage bank, and to prioritize one of the first and the second internal nodes;   ray tracing cache to store the prioritized non-internal node and the prioritized internal node; and   traversal circuitry to perform ray traversal and/or intersection operations using the prioritized internal and non-internal nodes in the ray tracing cache.   
     
     
         38 . The apparatus of  claim 37 , wherein non-internal nodes comprise nodes that are not internal nodes. 
     
     
         39 . The apparatus of  claim 38 , wherein the prioritized non-internal node and the prioritized internal node are from different storage banks. 
     
     
         40 . The apparatus of  claim 39 , wherein when the first non-internal node is prioritized over the second non-internal node, then the second internal node is prioritized over the first internal node. 
     
     
         41 . The apparatus of  claim 39 , wherein when the second non-internal node is prioritized over the first non-internal node, then the first internal node is prioritized over the second internal node. 
     
     
         42 . The apparatus of  claim 37 , wherein each of the hierarchically arranged nodes of the BVH comprises a primitive. 
     
     
         43 . The apparatus of  claim 37 , a data present (DP) bit of each entry in the first and second storage banks associated with the requested first and second internal and non-internal nodes are reset responsive to the requests. 
     
     
         44 . A method comprising:
 generating a bounding volume hierarchy (BVH) comprising a plurality of hierarchically arranged nodes including a plurality of internal nodes and a plurality of non-internal nodes, wherein each internal node comprises a root node or a child node to either the root node or another internal node;   storing a first plurality of the internal nodes and a first plurality of the non-internal nodes in a first storage bank;   storing a second plurality of the internal nodes and a second plurality of the non-internal nodes in a second storage bank;   requesting, in parallel, a first non-internal node from the first storage bank and a second non-internal node from the second storage bank, and prioritizing one of the first and the second non-internal node;   requesting, in parallel, a first internal node from the first storage bank and a second internal node from the second storage bank, and prioritizing one of the first and the second internal nodes;   storing the prioritized non-internal node and the prioritized internal node; and   performing ray traversal and/or intersection operations using the prioritized internal and non-internal nodes in the ray tracing cache.   
     
     
         45 . The method of  claim 44 , wherein non-internal nodes comprise nodes that are not internal nodes. 
     
     
         46 . The method of  claim 45 , wherein the prioritized non-internal node and the prioritized internal node are from different storage banks. 
     
     
         47 . The method of  claim 46 , wherein when the first non-internal node is prioritized over the second non-internal node, then the second internal node is prioritized over the first internal node. 
     
     
         48 . The method of  claim 46 , wherein when the second non-internal node is prioritized over the first non-internal node, then the first internal node is prioritized over the second internal node. 
     
     
         49 . The method of  claim 44 , wherein each of the hierarchically arranged nodes of the BVH comprises a primitive. 
     
     
         50 . The method of  claim 44 , further comprises resetting a data present (DP) bit of each entry in the first and second storage banks associated with the requested first and second internal and non-internal nodes. 
     
     
         51 . A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform operations of:
 generating a bounding volume hierarchy (BVH) comprising a plurality of hierarchically arranged nodes including a plurality of internal nodes and a plurality of non-internal nodes, wherein each internal node comprises a root node or a child node to either the root node or another internal node;   storing a first plurality of the internal nodes and a first plurality of the non-internal nodes in a first storage bank;   storing a second plurality of the internal nodes and a second plurality of the non-internal nodes in a second storage bank;   requesting, in parallel, a first non-internal node from the first storage bank and a second non-internal node from the second storage bank, and prioritizing one of the first and the second non-internal node;   requesting, in parallel, a first internal node from the first storage bank and a second internal node from the second storage bank, and prioritizing one of the first and the second internal nodes;   storing the prioritized non-internal node and the prioritized internal node; and   performing ray traversal and/or intersection operations using the prioritized internal and non-internal nodes in the ray tracing cache.   
     
     
         52 . The machine-readable medium of  claim 51 , wherein non-internal nodes comprise nodes that are not internal nodes. 
     
     
         53 . The machine-readable medium of  claim 52 , wherein the prioritized non-internal node and the prioritized internal node are from different storage banks. 
     
     
         54 . The machine-readable medium of  claim 53 , wherein when the first non-internal node is prioritized over the second non-internal node, then the second internal node is prioritized over the first internal node. 
     
     
         55 . The machine-readable medium of  claim 53 , wherein when the second non-internal node is prioritized over the first non-internal node, then the first internal node is prioritized over the second internal node. 
     
     
         56 . The machine-readable medium of  claim 51 , wherein each of the hierarchically arranged nodes of the BVH comprises a primitive. 
     
     
         57 . The machine-readable medium of  claim 51 , wherein the operations further comprise resetting a data present (DP) bit of each entry in the first and second storage banks associated with the requested first and second internal and non-internal nodes.

Join the waitlist — get patent alerts

Track US2022130097A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.