Apparatus and method for ray tracing with grid primitives
Abstract
Apparatus and method for ray tracing acceleration using a grid primitive. For example, one embodiment of an apparatus comprises: a grid primitive generator to generate a grid primitive comprising a plurality of adjacent interconnected primitives; a bitmask generator to generate a bitmask associated with the grid primitive, the bitmask comprising a plurality of bitmask values, each mask value associated with a primitive of the grid primitive; a ray tracing engine comprising traversal and intersection hardware logic to perform traversal and intersection operations in which rays are traversed through a hierarchical acceleration data structure and intersections between the rays and one or more of the adjacent interconnected primitives identified, wherein the ray tracing engine is to read the bitmask to determine a first set of primitives from the grid primitive on which to perform the traversal and intersection operations and a second set of primitives from the grid primitive on which the traversal and intersection operations will not be performed.
Claims
exact text as granted — not AI-modified1 - 24 . (canceled)
25 . An apparatus comprising:
grid primitive generation circuitry to generate a grid primitive and an associated bitmask, the grid primitive comprising a plurality of adjacent interconnected primitives that are divided into a first subset and a second subset of primitives based on the bitmask; bounding volume hierarchy (BVH) processing circuitry to generate a BVH over the first, but not the second, subset of primitives in accordance to the bitmask; and traversal and intersection circuitry to perform traversal and intersection operations in which rays are traversed through the BVH to identify intersections between the rays and the first subset of primitives.
26 . The apparatus of claim 25 , wherein each of the plurality of adjacent interconnected primitives of the grid primitive is associated with a respective bit of the bitmask.
27 . The apparatus of claim 26 , wherein the respective bit of each primitive in the first subset is set to a first bit value to indicate that traversal and intersection operations are to be performed on the primitive.
28 . The apparatus of claim 27 , wherein the respective bit of each primitive in the second subset is set to a second bit value to indicate that traversal and intersection operations are not to be performed on the primitive.
29 . The apparatus of claim 26 , wherein the grid primitive comprises a fixed-size grid of N×M triangles and has (N+1)×(M+1) vertices.
30 . The apparatus of claim 29 , wherein the bitmask comprises N×M bits.
31 . The apparatus of claim 25 , wherein the at least some of the plurality of adjacent interconnected primitives share one or more sides and one or more vertices.
32 . The apparatus of claim 31 , wherein the grid primitive generation circuitry is to store at least a portion of the grid primitive in memory without indices.
33 . A method comprising:
generating a grid primitive and an associated bitmask, the grid primitive comprising a plurality of adjacent interconnected primitives that are divided into a first subset and a second subset of primitives based on the bitmask; generating a bounding volume hierarchy (BVH) over the first, but not the second, subset of primitives in accordance to the bitmask; and performing traversal and intersection operations in which rays are traversed through the BVH to identify intersections between the rays and the first subset of primitives.
34 . The method of claim 33 , wherein each of the plurality of adjacent interconnected primitives of the grid primitive is associated with a respective bit of the bitmask.
35 . The method of claim 34 , further comprising:
setting, in the bitmask, the respective bit of each primitive in the first subset to a first bit value to indicate that traversal and intersection operations are to be performed on the primitive.
36 . The method of claim 35 , further comprising:
setting, in the bitmask, the respective bit of each primitive in the second subset to a second bit value to indicate that traversal and intersection operations are not to be performed on the primitive.
37 . The method of claim 34 , wherein the grid primitive comprises a fixed-size grid of N×M triangles and has (N+1)×(M+1) vertices.
38 . The method of claim 37 , wherein the bitmask comprises N×M bits.
39 . The method of claim 33 , wherein the at least some of the plurality of adjacent interconnected primitives share one or more sides and one or more vertices.
40 . The method of claim 39 , further comprising:
storing at least a portion of the grid primitive in memory without indices.
41 . 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 grid primitive and an associated bitmask, the grid primitive comprising a plurality of adjacent interconnected primitives that are divided into a first subset and a second subset of primitives based on the bitmask; generating a bounding volume hierarchy (BVH) over the first, but not the second, subset of primitives in accordance to the bitmask; and performing traversal and intersection operations in which rays are traversed through the BVH to identify intersections between the rays and the first subset of primitives.
42 . The non-transitory machine-readable medium of claim 41 , wherein each of the plurality of adjacent interconnected primitives of the grid primitive is associated with a respective bit of the bitmask.
43 . The non-transitory machine-readable medium of claim 42 , wherein the operations further comprise:
setting, in the bitmask, the respective bit of each primitive in the first subset to a first bit value to indicate that traversal and intersection operations are to be performed on the primitive.
44 . The non-transitory machine-readable medium of claim 43 , wherein the operations further comprise:
setting, in the bitmask, the respective bit of each primitive in the second subset to a second bit value to indicate that traversal and intersection operations are not to be performed on the primitive.
45 . The non-transitory machine-readable medium of claim 42 , wherein the grid primitive comprises a fixed-size grid of N×M triangles and has (N+1)×(M+1) vertices.
46 . The non-transitory machine-readable medium of claim 45 , wherein the bitmask comprises N×M bits.
47 . The non-transitory machine-readable medium of claim 41 , wherein the at least some of the plurality of adjacent interconnected primitives share one or more sides and one or more vertices.
48 . The non-transitory machine-readable medium of claim 47 , wherein the operations further comprise:
storing at least a portion of the grid primitive in memory without indices.Join the waitlist — get patent alerts
Track US2021407177A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.