Apparatus and method of traversing acceleration structure in ray tracing system

US10049488B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10049488-B2
Application numberUS-201514722887-A
CountryUS
Kind codeB2
Filing dateMay 27, 2015
Priority dateMay 27, 2014
Publication dateAug 14, 2018
Grant dateAug 14, 2018

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.

A method of traversing an acceleration structure (AS) in a ray tracing system includes obtaining information about child nodes of a target node included in the AS; determining whether each of the child nodes intersects a ray based on the obtained information; determining a next target node among at least one child node that intersects the ray; and performing an operation corresponding to a type of the determined next target node.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor-based image rendering method of traversing an acceleration structure (AS) in a ray tracing system, the method comprising: obtaining, by at least one processor, information from a data structure about child nodes of a target node included in an acceleration structure (AS) in which the obtained information is preset in the data structure, wherein the data structure is generated by an AS generator, is stored in an external memory and includes memory addresses at which the child nodes are stored, indices indicating the child nodes, type information of the child nodes and bounding box information of the child nodes; determining, simultaneously, by the at least one processor, whether each of the child nodes intersects a ray based on the obtained information; determining, by the at least one processor, a next target node to be traversed and an operation to be performed thereon among at least one child node that intersects the ray after the determining of whether each of the child nodes intersects the ray; and performing, by the at least one processor, an operation corresponding to a type of the determined next target node, wherein the simultaneously determining whether each of the child nodes intersect the ray based on the obtained information from the data structure is performed in one traversal process. 2. The method of claim 1 , wherein the determining of whether each of the child nodes intersects the ray comprises simultaneously performing intersection determinations respectively determining whether each of the child nodes intersect the ray based on the obtained information. 3. The method of claim 1 , wherein the determining of whether each of the child nodes intersects the ray comprises simultaneously performing intersection determinations respectively determining whether a first child node and a second child node intersect the ray based on obtained information about the first child node and the second child node. 4. The method of claim 1 , wherein the determining of the next target node comprises: in response to there being only one child node that intersects the ray, determining the one child node as the next target node; and in response to there being two or more child nodes that intersect the ray, determining a child node having a shortest intersection distance to the ray among the two or more child nodes as the next target node. 5. The method of claim 1 , wherein the determining of the next target node comprises, in response to there being no child node that intersects the ray: extracting from the AS any one node among nodes that are not subordinate to the target node; and determining the extracted node as the next target node. 6. The method of claim 1 , wherein the performing of the operation corresponding to the type of the determined next target node comprises: in response to the next target node being an inner node, moving to at least one child node of the next target node; and in response to the next target node being a leaf node, performing an intersection test to determine whether at least one primitive included in the leaf node intersects the ray. 7. The method of claim 6 , wherein the performing of the operation corresponding to the type of the determined next target node further comprises, based on a result of the intersection test, traversing another child node that intersects the ray. 8. The method of claim 6 , the determining of whether the at least one primitive included in the leaf node intersects the ray comprises determining whether a preset bounding box of the at least one primitive included in the leaf node intersects the ray. 9. The method of claim 1 , further comprising, in response to the target node included in a root node being a leaf node: dividing at least one primitive included in the target node; and generating a child node of the target node based on the divided at least one primitive. 10. A non-transitory computer-readable storage medium storing instructions for causing a computer to perform the method of claim 1 . 11. A processor-based image rendering apparatus for traversing an acceleration structure (AS) in a ray tracing system, the apparatus comprising: at least one processor configured to execute ray tracing operations that include: obtain information from a data structure about child nodes of a target node included in the AS in which the obtained information is preset in the data structure, wherein the data structure is generated by an AS generator, is stored in an external memory and includes memory addresses at which the child nodes are stored, indices indicating the child nodes, type information of the child nodes and bounding box information of the child nodes; simultaneously determine whether each of the child nodes intersects a ray based on the obtained information in the data structure; determine a next target node among at least one child node that intersects the ray, and perform an operation corresponding to a type of the determined next target node, and render an image for display based on a pixel value of the image generated based on the performed operation, wherein the simultaneously determining whether each of the child nodes intersect the ray based on the obtained information from the data structure is performed in one traversal process. 12. The apparatus of claim 11 , wherein the at least one processor simultaneously determines whether each of the child nodes intersects the ray by simultaneously performing intersection determinations respectively determining whether each of the child nodes intersect the ray based on the obtained information. 13. The apparatus of claim 11 , wherein the at least one processor simultaneously determines whether each of the child nodes intersects the ray includes by simultaneously performing intersection determinations respectively determining whether a first child node and a second child node intersect the ray based on obtained information about the first child node and the second child node. 14. The apparatus of claim 11 , wherein, to determine the next target node, the at least one processor is further configured to: in response to there being only one child node that intersects the ray, determine the one child node as the next target node; and in response to there being two or more child nodes that intersect the ray, determine a child node having a shortest intersection distance to the ray among the two or more child nodes as the next target node. 15. The apparatus of claim 11 , wherein, to determine the next target node, the at least one processor is further configured to, in response to there being no child node that intersects the ray, extract any one node among nodes that are not subordinate to the target node from the AS, and determine the extracted node as the next target node. 16. The apparatus of claim 11 , wherein the at least one processor is further configured to: in response to the next target node being an inner node, move to at least one child node of the next target node; and in response to the next target node being a leaf node, perform an intersection test to determine whether at least one primitive included in the leaf node intersects the ray. 17. The apparatus of claim 16 , wherein the at least one processor is further configured to, based on a result of the intersection test, traverse another child node that intersects the ray. 18. The apparatus of claim 16 , wherein the at least one processor is further configured to determine whether the least one primitive included in the leaf node interse

Assignees

Inventors

Classifications

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 US10049488B2 cover?
A method of traversing an acceleration structure (AS) in a ray tracing system includes obtaining information about child nodes of a target node included in the AS; determining whether each of the child nodes intersects a ray based on the obtained information; determining a next target node among at least one child node that intersects the ray; and performing an operation corresponding to a type…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06T15/06. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 14 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).