Reduced acceleration structures for ray tracing systems

US10438397B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10438397-B2
Application numberUS-201715705976-A
CountryUS
Kind codeB2
Filing dateSep 15, 2017
Priority dateSep 15, 2017
Publication dateOct 8, 2019
Grant dateOct 8, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • General purpose rendering architectures · CPC title

  • Shadow generation · CPC title

  • Collision detection, intersection · CPC title

  • Perspective computation · CPC title

  • G06T17/005Primary

    Tree description, e.g. octree, quadtree · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10438397B2 cover?
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 stor…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G06T17/005. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 08 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).