Apparatus and method for implementing bounding volume hierarchy (BVH) operations on tesselation hardware
AssigneeIntel Corporation
InventorsCarsten Benthin, Gabor Liktor
Life of this patent
Estimating the term…
Abstract
An apparatus and method are described for using tessellation hardware to generate bounding volume hierarchies (BVHs) and perform other ray tracing operations. For example, one embodiment of an apparatus comprises: a shader to output a plurality of tessellation factors and one or more input surfaces; and a tessellation circuit comprising first circuitry and/or logic to tessellate each input surface to generate a new set of primitives and second circuitry and/or logic to concurrently generate a bounding volume hierarchy (BVH) 1521 based on the new set of primitives.
Claims18
A graphics processor comprising:
- tessellation circuitry to tessellate at least a portion of an input surface based on tessellation factors associated with the input surface to generate a first set of primitives;
- bounding volume generator circuitry to dynamically generate, based on the tessellation factors, two or more child nodes of a bounding volume hierarchy (BVH) to bound the first set of primitives, each of the two or more child nodes containing at least a portion of the input surface, the two or more child nodes generated concurrently with the tessellation of the portion of the input surface;
- and
- ray traversal/intersection circuitry to perform, based on the BVH, intersection tests between the input surface and a set of rays to determine a first portion of the input surface intersected by the rays,
- wherein the first set of primitives is generated by the tessellation circuitry tessellating only the first portion of the input surface.
A method comprising:
- tessellating at least a portion of an input surface based on tessellation factors associated with the input surface to generate a first set of primitives;
- dynamically generating, based on the tessellation factors, two or more child nodes of a bounding volume hierarchy (BVH) to bound the first set of primitives, each of the two or more child nodes containing at least a portion of the input surface, the two or more child nodes generated concurrently with the tessellation of the portion of the input surface;
- and
- performing, based on the BVH, intersection tests between the input surface and a set of rays to determine a first portion of the input surface intersected by the rays,
- wherein the first set of primitives is generated by tessellating only the first portion of the input surface.
A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform operations of:
- tessellating at least a portion of an input surface based on tessellation factors associated with the input surface to generate a first set of primitives;
- dynamically generating, based on the tessellation factors, two or more child nodes of a bounding volume hierarchy (BVH) to bound the first set of primitives, each of the two or more child nodes containing at least a portion of the input surface, the two or more child nodes generated concurrently with the tessellation of the portion of the input surface;
- and
- performing, based on the BVH, intersection tests between the input surface and a set of rays to determine a first portion of the input surface intersected by the rays,
- wherein the first set of primitives is generated by tessellating only the first portion of the input surface.
Dependencies are inferred from the claim text.