Method and apparatus for performing ray tracing for rendering image

US9619921B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9619921-B2
Application numberUS-201414263488-A
CountryUS
Kind codeB2
Filing dateApr 28, 2014
Priority dateOct 21, 2013
Publication dateApr 11, 2017
Grant dateApr 11, 2017

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.

Provided are methods and apparatuses of performing ray tracing for rendering an image. The method includes performing, at a ray tracing core, a first intersection test based on a traversal of an acceleration structure using a generated primary ray, generating at least one type of secondary ray based on the first intersection test, classifying the generated secondary rays and storing identification information indicating a starting point and a direction of the secondary rays, and performing a second intersection test and shading using the stored identification information.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of performing ray tracing to generate a rendered image, the method comprising: performing, using at least one processing device of a ray tracing core, a first intersection test based on a traversal of an acceleration structure using a generated primary ray; generating secondary rays based on the first intersection test; classifying the generated secondary rays and storing respective identification information indicating a starting point and a direction of each of the secondary rays; determining whether to regenerate the primary ray based on a number of the generated secondary rays and storing identification information of the regenerated primary ray when the primary ray is regenerated; performing a second intersection test by the ray tracing core using the stored respective identification information; generating a color value of each of pixels comprised in an image by performing shading based on results of the second intersection test; and generating the rendered image which reflects the generated color values. 2. The method of claim 1 , wherein the generating of secondary rays includes generating plural types of secondary rays, the types of the secondary rays comprising at least two of a reflection ray type, a refraction ray type, and a shadow ray type. 3. The method of claim 1 , wherein the generating of the secondary rays comprises generating at least one shadow ray based on a number of light sources and generating at least one of a reflection ray or a refraction ray based on the second intersection test. 4. The method of claim 1 , wherein the performing of the second intersection test comprises performing the second intersection test using identification information corresponding to a shadow ray from among the secondary rays, and the method further includes performing a third intersection test using identification information, from the stored respective identification information, corresponding to a reflection ray from among the secondary rays, after the second intersection test and the shading is performed. 5. The method of claim 1 , wherein the performing of the second intersection test comprises performing the second intersection test using identification information corresponding to a shadow ray from among the secondary rays, and the method further includes performing a third intersection test using identification information, from the stored respective identification information, corresponding to a refraction ray from among the secondary rays, after the second intersection test and the shading is performed. 6. The method of claim 1 , wherein the storing of the respective identification information comprises storing the respective identification information by allocating different buffer sizes in a memory for respectively collectively storing a plurality of each type of the secondary rays. 7. The method of claim 6 , wherein the memory is controlled to store the respective identification information by allocating the buffer sizes based on at least one of a number of light sources, a depth of a reflection ray included in the secondary rays, and a depth of a refraction ray included in the secondary rays. 8. The method of claim 1 , further comprising counting the number of the secondary rays based on the stored respective identification information, wherein the performing of the second intersection test comprises performing the second intersection test using the stored respective identification information in response to the counted number of the secondary rays being equal to or greater than a number of batches of stored identification information. 9. The method of claim 8 , further comprising regenerating the primary ray in response to the counted number of the secondary rays being less than the number of batches, and wherein the performing of the second intersection test comprises performing the intersection test using the regenerated primary ray. 10. The method of claim 1 , wherein the classifying of the generated secondary rays and storing of the respective identification information includes storing, to an exterior memory exterior to the ray tracing core and allocated at least for plural secondary rays of a same type in accordance with the classifying, the respective identification information determined by the generating of the secondary rays. 11. The method of claim 10 , wherein the respective identification information transferred to the exterior memory is differently stored in the exterior memory according to different type classifications of the secondary rays. 12. The method of claim 11 , wherein the different storing of the respective identification information in the exterior memory includes storing identification information for refraction secondary rays in a refraction ray buffer of a first allocated size, based on a set depth for refraction secondary rays and a set depth for reflection secondary rays, storing identification information for reflection secondary rays in a reflection ray buffer of a second allocated size based on the set depth for reflection secondary rays, and storing identification information for shadow secondary rays in a shadow ray buffer of a third allocated size based on a number of light sources in the image. 13. The method of claim 10 , further comprising transferring the respective identification information from the exterior memory to a job buffer of the ray tracing core in batches, including transferring identification information for different types of secondary rays in a prioritized order, for a transferred batch of secondary rays, based on which type of secondary ray is represented by each of the identification information of the transferred batch. 14. The method of claim 13 , wherein the prioritized order gives greater preference to identification information for a shadow secondary ray than identification information for a reflection secondary ray or a refraction secondary ray. 15. The method of claim 1 , wherein the generating of the secondary rays further comprises storing the respective identification information for each of the secondary rays in different secondary ray buffers, respectively based on different type classifications of the secondary rays, of the ray tracing core. 16. The method of claim 15 , wherein the storing of the respective identification information in the different secondary ray buffers of the ray tracing core includes storing identification information for refraction or reflection secondary rays in a refraction or reflection ray buffer of a first allocated size based on a set number of batches of intersection points to be produced by the ray tracing core, and storing identification information for shadow secondary rays in a shadow ray buffer of a second allocated size based on the set number and a number of light sources in the image. 17. A non-transitory computer-readable recording medium having embodied thereon a program to control at least one processing device to implement the method of claim 1 . 18. A ray tracing apparatus to generate a rendered image, the apparatus comprising: one or more processing devices, of a ray tracing core, configured to perform a first intersection test based on a traversal of an acceleration structure using a generated primary ray and to generate secondary rays based on the first intersection test; and a memory configured to classify the generated secondary rays and to store respective identification information indicating a starting point and a direction of each of the secondary rays, wherein the one or more processing de

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 US9619921B2 cover?
Provided are methods and apparatuses of performing ray tracing for rendering an image. The method includes performing, at a ray tracing core, a first intersection test based on a traversal of an acceleration structure using a generated primary ray, generating at least one type of secondary ray based on the first intersection test, classifying the generated secondary rays and storing identificat…
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 Apr 11 2017 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).