On Demand Geometry and Acceleration Structure Creation
US-2015317818-A1 · Nov 5, 2015 · US
US10438397B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10438397-B2 |
| Application number | US-201715705976-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 15, 2017 |
| Priority date | Sep 15, 2017 |
| Publication date | Oct 8, 2019 |
| Grant date | Oct 8, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Ray tracing units, processing modules and methods are described for generating one or more reduced acceleration structures to be used for intersection testing in a ray tracing system for processing a 3D scene. Nodes of the reduced acceleration structure(s) are determined, wherein a reduced acceleration structure represents a subset of the 3D scene. The reduced acceleration structure(s) are stored for use in intersection testing. Since the reduced acceleration structures represent a subset of the scene (rather than the whole scene) the memory usage for storing the acceleration structure is reduced, and the latency in the traversal of the acceleration structure is reduced.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method of generating one or more separate reduced acceleration structures to be used for intersection testing in a ray tracing system for processing a 3D scene, the method comprising: determining, by a processor, nodes of the one or more separate reduced acceleration structures, wherein each of the one or more separate reduced acceleration structures represents a respective sub-region within the 3D scene rather than representing the whole 3D scene; and storing in a non-transitory computer readable memory the one or more separate reduced acceleration structures for use in intersection testing; wherein said determining nodes of the one or more separate reduced acceleration structures comprise culling nodes from a larger acceleration structure. 2. The method of claim 1 wherein a sub-region corresponds to a view frustum within the scene. 3. The method of claim 1 wherein the nodes of at least one of the reduced acceleration structures are defined in a view space or a clip space, and wherein nodes of at least one of the reduced acceleration structures have shapes which are elongated in a direction approximately aligned with a viewing direction. 4. The method of claim 1 , wherein each of the one or more reduced acceleration structures represents a respective subset of primitives in the 3D scene. 5. The method of claim 1 wherein at least one of the one or more reduced acceleration structures is constructed for an orientation of interest. 6. The method of claim 1 wherein in response to finding an intersection in a first reduced acceleration structure, a shader program is executed which causes a ray to be emitted into a second reduced acceleration structure, wherein the first reduced acceleration structure is different to the second reduced acceleration structure. 7. The method of claim 1 wherein the nodes of the one or more reduced acceleration structures are determined based on a viewpoint for the 3D scene, so as to improve the efficiency of the one or more reduced acceleration structures. 8. The method of claim 1 further comprising generating a world space acceleration structure representing the whole 3D scene, wherein the resolution of primitives represented by nodes of the world space acceleration structure is lower than the resolution of primitives represented by nodes of the one or more reduced acceleration structures. 9. The method of claim 1 further comprising performing intersection testing by traversing the one or more reduced acceleration structures, wherein results of said intersection testing are used for rendering an image of the 3D scene; and if the traversal of a reduced acceleration structure results in a miss for a ray, emitting the ray into a world space acceleration structure which represents the whole 3D scene. 10. A processing module configured to generate one or more separate reduced acceleration structures to be used for intersection testing in a ray tracing system for processing a 3D scene, the processing module comprising: acceleration structure building logic configured to determine nodes of the one or more separate reduced acceleration structures, wherein each of the one or more separate reduced acceleration structures represents a respective sub-region within the 3D scene rather than representing the whole 3D scene; wherein the processing module is configured to cause the one or more separate reduced acceleration structures to be stored for use in intersection testing; and wherein said determining nodes of the one or more separate reduced acceleration structures comprise culling nodes from a larger acceleration structure. 11. The processing module of claim 10 wherein the acceleration structure building logic is configured to generate a respective reduced acceleration structure for each of one or more light sources for the 3D scene, wherein the reduced acceleration structure for a light source represents primitives within a sub-region of the scene which can cast shadows from the light source onto primitives to be rendered within a view space of the 3D scene. 12. The processing module of claim 10 configured to generate a plurality of reduced acceleration structures for rendering the 3D scene, wherein the acceleration structure building logic is configured to determine nodes of the plurality of reduced acceleration structures, each of the reduced acceleration structures representing a respective subset of the 3D scene, and wherein the processing module is configured to cause the plurality of reduced acceleration structures to be stored for use in intersection testing. 13. The processing module of claim 12 wherein the ray tracing system is implemented in a tile-based rendering system, and wherein the processing module is configured to generate a respective reduced acceleration structure for each of a plurality of tiles of a rendering space in which the 3D scene is to be rendered. 14. A ray tracing unit for processing a 3D scene comprising: the processing module of claim 10 ; and intersection testing logic configured to perform intersection testing by traversing the one or more reduced acceleration structures. 15. The ray tracing unit of claim 14 wherein the intersection testing logic is configured to emit a ray into a further acceleration structure if the traversal of a first reduced acceleration structure results in a miss for the ray. 16. The ray tracing unit of claim 14 , further comprising processing logic configured to use results of said intersection testing for rendering an image of the 3D scene. 17. The ray tracing unit of claim 14 , further comprising pre-processing logic configured to: perform pre-processing on primitives in the 3D scene, wherein the pre-processing includes one or both of clipping and transforming the primitives into view space or clip space; and provide the pre-processed primitives to the processing module. 18. A non-transitory computer readable storage medium having stored thereon a computer readable description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a processing module configured to generate one or more separate reduced acceleration structures to be used for intersection testing in a ray tracing system for processing a 3D scene, the processing module comprising: acceleration structure building logic configured to determine nodes of the one or more separate reduced acceleration structures, wherein each of the one or more reduced acceleration structures represents a respective sub-region within the 3D scene rather than representing the whole 3D scene; wherein the processing module is configured to cause the one or more separate reduced acceleration structures to be stored for use in intersection testing; and wherein said determining nodes of the one or more separate reduced acceleration structures comprise culling nodes from a larger acceleration structure. 19. The ray tracing unit of claim 15 , wherein the first reduced acceleration structure represents a relatively small subset of the 3D scene and the further acceleration structure represents a relatively large subset of the 3D scene.
General purpose rendering architectures · CPC title
Shadow generation · CPC title
Collision detection, intersection · CPC title
Perspective computation · CPC title
Tree description, e.g. octree, quadtree · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.