Method and apparatus generating acceleration structure

US10115224B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10115224-B2
Application numberUS-201615334815-A
CountryUS
Kind codeB2
Filing dateOct 26, 2016
Priority dateOct 26, 2015
Publication dateOct 30, 2018
Grant dateOct 30, 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 generating a ray tracing acceleration structure includes transformatively mapping locations of object primitives in a three dimensional first space into Morton codes indicating respective locations of the primitives along a meandering linear path through the first space; determining a Morton distance indicating a difference between a first Morton code corresponding with a first primitive and a second Morton code corresponding with a second primitive; generating an acceleration structure to include nodes representing portions of the first space and adaptively adjusting a reference level of the acceleration structure, based on the Morton distance between primitives; and dividing the first space using a first division method when a level of a first node of the acceleration structure which corresponds to the first space is lower than the reference level, and dividing the first space using a second division method when the level of the first node exceeds the reference level.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of generating and using an acceleration structure for ray tracing a three-dimensional scene including primitives, the method comprising: obtaining Morton codes indicating respective locations of the primitives comprised in a first space; calculating a Morton distance indicating a difference between a first Morton code corresponding with a first primitive and a second Morton code corresponding with a second primitive; adjusting a reference level of the acceleration structure, based on the Morton distance; and dividing the first space using a first division method in response to a level of a first node of the acceleration structure which corresponds to the first space being lower than the reference level, and dividing the first space using a second division method in response to the level of the first node exceeding the reference level; ray tracing from a viewpoint by casting rays into three-dimensional scene by using the acceleration structure; and generating respective pixel values on an image plane by using results of the ray tracing. 2. The method of claim 1 , wherein the first division method comprises a surface area heuristic (SAH) method, and the second division method comprises a division method using the Morton codes. 3. The method of claim 2 , wherein the dividing of the first space comprises dividing spaces respectively corresponding to sub-nodes included in the first node by using the Morton codes in response to the level of the first node exceeding the reference level. 4. The method of claim 2 , further comprising obtaining sub-spaces comprising the first space by dividing a second space by using the SAH method. 5. The method of claim 1 , wherein the first primitive comprises a primitive having a smallest Morton code, and the second primitive comprises a primitive having a greatest Morton code. 6. The method of claim 1 , wherein the adjusting of the reference level comprises decreasing the reference level when the Morton distance is less than a certain threshold value and increasing the reference level when the Morton distance is equal to or greater than the certain threshold value. 7. The method of claim 1 , wherein the obtaining Morton codes comprises transformatively mapping locations of object primitives in the first space into Morton codes indicating respective locations of the primitives along a meandering linear path through the first space. 8. A non-transitory computer-readable recording medium having embodied thereon a computer program which, when executed by a computer, performs the method of claim 1 . 9. A method of generating an acceleration structure for ray tracing, the method comprising: obtaining Morton codes indicating locations of primitives comprised in a first space; calculating a Morton distance indicating a difference between a first Morton code corresponding with a first primitive and a second Morton code corresponding with a second primitive; dividing the first space into sub-spaces by using a first division method in response to the Morton distance being less than a certain threshold value and dividing the first space into the sub-spaces by using a second division method in response to the Morton distance exceeding the certain threshold value; generating the acceleration structure by setting each of the sub-spaces as a node comprised in the acceleration structure; ray tracing rays generated from a viewpoint to intersect a scene object by using the generated acceleration structure; and using the results from the ray tracing to determine color values of pixels for forming an image. 10. The method of claim 9 , wherein the first primitive comprises a primitive having a smallest Morton code, and the second primitive comprises a primitive having a greatest Morton code. 11. The method of claim 9 , wherein the first division method comprises a surface area heuristic (SAH) method, and the second division method comprises a division method using the Morton codes. 12. An apparatus for generating and using an acceleration structure for ray tracing a three-dimensional scene including primitives, the apparatus comprising: a memory configured to store information about the acceleration structure; and a processor configured to obtain Morton codes indicating locations of the primitives comprised in a first space, calculate a Morton distance indicating a difference between a first Morton code corresponding to a first primitive from among the primitives comprised in the first space and a second Morton code corresponding to a second primitive from among the primitives, adjust a reference level of the acceleration structure based on the Morton distance, divide the first space by using a first division method in response to a level of a first node of the acceleration structure that corresponds to the first space being lower than the reference level, or divide the first space by using a second division method in response to the level of the first node exceeding the reference level, ray tracing from a viewpoint by casting rays into the three-dimensional scene by using the acceleration structure; and generate respective pixel values on an image plane by using results of the ray tracing. 13. The apparatus of claim 12 , wherein the first division method comprises a surface area heuristic (SAH) method, and the second division method comprises a division method using the Morton codes. 14. The apparatus of claim 12 , wherein the processor is further configured to divide spaces respectively corresponding to sub-nodes comprised in the first node by using the Morton codes when the level of the first node exceeds the reference level. 15. The apparatus of claim 13 , wherein the processor is further configured to obtain sub-spaces comprising the first space by dividing a second space by using the SAH method. 16. The apparatus of claim 12 , wherein the first primitive comprises a primitive having a smallest Morton code, and the second primitive comprises a primitive having a greatest Morton code. 17. The apparatus of claim 13 , wherein the processor is further configured to decrease the reference level of the acceleration structure when the Morton distance is less than a certain threshold value and increase the reference level when the Morton distance is equal to or greater than the certain threshold value. 18. An apparatus for generating an acceleration structure for ray tracing, the apparatus comprising: a memory configured to store information about the acceleration structure; and a processor configured: to obtain Morton codes indicating locations of primitives comprised in a first space, to calculate a Morton distance indicating a difference between a first Morton code corresponding to a first primitive from among the primitives comprised in the first space and a second Morton code corresponding to a second primitive from among the primitives, to divide the first space into sub-spaces by using a first division method in response to the Morton distance being less than a certain threshold value, or to divide the first space into sub-spaces by using a second division method in response to the Morton distance exceeding the certain threshold value, to generate the acceleration structure by setting each sub-space as a node in the acceleration structure, ray tracing rays generated from a viewpoint to intersect a scene object by using the generated acceleration structure; and using the results from the ray tracing to determine color values of pixels for forming an image.

Assignees

Inventors

Classifications

  • Lighting effects · CPC title

  • G06T15/06Primary

    Ray-tracing · CPC title

  • Collision detection, intersection · CPC title

  • 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 US10115224B2 cover?
A method of generating a ray tracing acceleration structure includes transformatively mapping locations of object primitives in a three dimensional first space into Morton codes indicating respective locations of the primitives along a meandering linear path through the first space; determining a Morton distance indicating a difference between a first Morton code corresponding with a first prim…
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 Oct 30 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).