KR20110059037A - Apparatus and method for ray-tracing using multi-level kernel - Google Patents
Apparatus and method for ray-tracing using multi-level kernel Download PDFInfo
- Publication number
- KR20110059037A KR20110059037A KR1020090115640A KR20090115640A KR20110059037A KR 20110059037 A KR20110059037 A KR 20110059037A KR 1020090115640 A KR1020090115640 A KR 1020090115640A KR 20090115640 A KR20090115640 A KR 20090115640A KR 20110059037 A KR20110059037 A KR 20110059037A
- Authority
- KR
- South Korea
- Prior art keywords
- ray
- additional
- kernel
- pixel
- pixels
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Abstract
Description
Embodiments of the present invention relate to a ray tracing apparatus and method using a multi-level kernel, and more particularly, to a technique for generating and processing a separate kernel for each ray level operation.
Ray tracing is a method of calculating a visible object and calculating illuminance of a point by firing a ray in a virtual three-dimensional space in the direction of each pixel on the screen from a viewpoint. At this time, the ray fired at each time point is a shadow ray for calculating the presence or absence of a shadow at the moment of contact with the object, a reflection ray for obtaining a reflected image for a reflective surface, and a refracted surface for a refractive surface. Refraction rays and the like are generated recursively to obtain an image.
In the past, the entire process of obtaining the value of one pixel was set to one kernel, and these threads were created as the number of pixels and allocated to a plurality of computation cores in parallel.
However, if threads with different computational paths are applied to a Single Instruction Multiple Data (SIMD) structure, some cores are idle while others are performing their operations. This can happen.
Therefore, in order to maximize the utilization of the SIMD structure, research on an apparatus and a method for performing ray tracing using the core efficiently is required.
A ray tracing apparatus using a multi-level kernel according to an embodiment of the present invention is a device for performing ray tracing using a manicore, comprising: a common arithmetic unit that performs a common operation on all pixels through an initial kernel; A determination unit may be configured to determine whether there is a pixel that requires an additional operation, and an additional operation processor that generates a new kernel and performs an additional operation on the pixel that requires the additional operation.
In this case, the common operation may be performed on all the pixels by allocating one core for each pixel, and the additional operation may be performed by allocating one core for each pixel only for the pixel requiring the additional operation. have.
In addition, the common operation may include an intersection check on a primary ray and a shadow ray operation.
In addition, the additional operation may be an operation on at least one of a reflection ray and a reflection ray.
The additional arithmetic processor may include a pixel classifier for classifying a pixel in which an additional ray is generated, and an additional ray arithmetic unit for generating a new kernel for the classified pixel to perform an operation on the additional ray.
In addition, the pixel classifier and the additional ray calculator may perform the operation related to the pixel classification and the additional ray until the pixel in which the additional ray is generated does not exist.
In addition, the manifold may have a single instruction multiple data (SIMD) structure.
In a ray tracing method using a multi-level kernel according to an embodiment of the present invention, in a method of performing ray tracing using a mani core, performing a common operation on all pixels through an initial kernel, and further operations The method may include determining whether the required pixel exists, and generating a new kernel with respect to the pixel requiring the additional operation to perform the additional operation.
In this case, the generating of the new kernel and performing the additional operation may include classifying a pixel in which the additional ray is generated and generating a new kernel for the classified pixel to perform the operation on the additional ray. can do.
According to an embodiment of the present invention, by generating a separate kernel for each level (level, depth) of the operation of the ray operation for each pixel, it performs fast ray tracing, reducing the generation of idle cores to efficiently core A ray tracing apparatus and method for use can be provided.
According to an embodiment of the present invention, by processing the operation sequentially for each pixel level by level, by allowing the viewer to view the screen rendered in stages, a ray that can reduce the rendering delay, and further improve the efficiency of real-time rendering And a tracing device and method.
Hereinafter, with reference to the contents described in the accompanying drawings will be described in detail the embodiments of the present invention. However, the present invention is not limited to or limited by the embodiments. Like reference numerals in the drawings denote like elements.
1 is a view for explaining a ray tracing operation according to an embodiment of the present invention.
Referring to FIG. 1, when the
In this case, the generated secondary ray may be stored for each type of secondary ray. That is, the
In addition, the shadow ray generated corresponding to the primary may be calculated by calculating whether the primary ray emitted from the camera toward each pixel on the screen includes a shadow at the moment of contact with the object. In order to determine whether or not to belong to the laser beam from the point it can be determined whether there is another object between the light source. In this case, since the shadow rays have different starting points but the directing points are all the same as the light source, tracking the shadow rays back from the light source to the surface may all have the same starting point.
Here, since the shadow ray is a ray that is commonly generated for all pixels, calculation must be performed for all pixels. However, in the case of the reflection ray and the refraction ray, refraction or reflection does not occur depending on the pixels, It is not necessary to perform processing operations on the refractive ray and the reflective ray. Therefore, after performing operations that commonly occur for all pixels, only pixels requiring additional operations may be separately classified to perform additional operations, and in this case, pixels requiring additional operations may be classified for each level. In addition, when performing an additional operation, by generating a separate kernel for each level to process the operation, it is possible to efficiently utilize the core.
2 is a block diagram illustrating an apparatus for performing ray tracing using a multi-level kernel in performing ray tracing using a manicore according to an embodiment of the present invention.
Many-core architecture (Many-core architecture) is a architecture that has a large number of compute cores to perform operations in parallel, and improve the performance, the GPU (Graphics Processing Unit) that processes graphics operations at high speed It is a widely used architecture. In the case of ray tracing, the operation on each pixel can be performed independently, so that the mani-core architecture can be used to maximize the parallel processing effect.
In this case, the manicore architecture can be largely divided into a single instruction multiple data (SIMD) scheme and a multiple instruction multiple data (MIMD) scheme. In the case of SIMD, one control unit controls a plurality of computing cores, and in the case of MIMD, each computing core is equipped with an independent control unit. Most mani-core systems use a mix of both. That is, it may be configured to have a plurality of SIMD-style processors in the MIMD format, in which several lower computation cores are bundled. Hereinafter, an apparatus and a method for performing ray tracing according to an embodiment of a manicore system in which each multiprocessor has a SIMD structure and the multiprocessors are provided in a MIMD format will be described.
Referring to FIG. 2, the
The
For example, if there are 10000 pixels and 100 cores, if one core is processed at each core, 10000 pixels can be computed 100 times 100 times, and common operations for 10000 pixels are performed. Can be processed preferentially.
In this case, a kernel may be initially generated for a common operation, and a common operation of all pixels may be performed through the generated kernel.
The
For example, if there are 10000 pixels, a common operation is performed on all 10000 pixels, 5000 of which may be classified as requiring a first order addition operation. Thereafter, a first order addition operation may be performed on 5000 pixels, and the pixels requiring second order addition operations may be sorted again. In this way, pixels that require further computation can be classified recursively, and classification can continue until no more pixels need further computation.
The
The
As described above, by generating a kernel for each level that requires an additional operation and processing the operation, the core can be efficiently utilized and the speed of ray tracing can be improved.
In addition, in real-time rendering, by outputting the result of the common operation to the screen first, and sequentially outputting the result of the additional operation, the viewer can think that the rendering is performed in a very fast time, User satisfaction can be improved.
3 is a diagram for describing a process of performing ray tracing by generating a plurality of kernels according to an embodiment of the present invention.
Referring to FIG. 3, when a process is performed on three pixels, primary rays may be emitted for each of the three pixels, and
Among the three primary rays on which the common operation is performed, refraction, reflection, and the like may be generated to classify the ray requiring the first additional operation. In FIG. It can be classified as a ray requiring further computation. Accordingly,
After the first addition operation, reflection or refraction may occur again to classify the ray requiring the second addition operation, and in FIG. 3,
As described above, the common operation is first performed in the kernel, and for the additional operation, a separate kernel is generated at each level for the pixels requiring the additional operation to be performed sequentially, thereby reducing the occurrence of the idle core and reducing the core. It can be utilized efficiently to perform ray tracing.
4 is a diagram illustrating a pixel performing a ray tracing operation for each kernel according to an embodiment of the present invention.
Referring to FIG. 4,
5 is an operation flowchart of a ray tracing method using a multi-level kernel according to an embodiment of the present invention.
Referring to FIG. 5, in
In addition, the common operation may be performed on all the pixels by allocating one core for each pixel, and the additional operation may be performed by allocating one core for each pixel only in a pixel requiring the additional operation. have.
In
In
5 may refer to descriptions of FIGS. 1 to 4.
As described above, by generating and processing a separate kernel for each pixel for each ray level, a rapid ray tracing can be performed, and the generation of idle cores can be reduced to efficiently use cores.
In addition, by processing the operation sequentially for each pixel level by level, allowing the viewer to view the screen rendered in stages, it is possible to reduce the rendering delay and to improve the efficiency of real-time rendering.
Ray tracing method using a multi-level kernel according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
Although one embodiment of the present invention as described above has been described by a limited embodiment and drawings, one embodiment of the present invention is not limited to the above-described embodiment, which is a general knowledge in the field of the present invention Those having a variety of modifications and variations are possible from these descriptions. Accordingly, one embodiment of the invention should be understood only by the claims set forth below, all equivalent or equivalent modifications will be within the scope of the invention idea.
1 is a view for explaining a ray tracing operation according to an embodiment of the present invention.
2 is a block diagram of a ray tracing device using a multi-level kernel, in accordance with an embodiment of the invention.
3 is a diagram for describing a process of performing ray tracing by generating a plurality of kernels according to an embodiment of the present invention.
4 is a diagram illustrating a pixel performing a ray tracing operation for each kernel according to an embodiment of the present invention.
5 is an operation flowchart of a ray tracing method using a multi-level kernel according to an embodiment of the present invention.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090115640A KR20110059037A (en) | 2009-11-27 | 2009-11-27 | Apparatus and method for ray-tracing using multi-level kernel |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090115640A KR20110059037A (en) | 2009-11-27 | 2009-11-27 | Apparatus and method for ray-tracing using multi-level kernel |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110059037A true KR20110059037A (en) | 2011-06-02 |
Family
ID=44394237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090115640A KR20110059037A (en) | 2009-11-27 | 2009-11-27 | Apparatus and method for ray-tracing using multi-level kernel |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20110059037A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016093470A1 (en) * | 2014-12-12 | 2016-06-16 | 삼성전자 주식회사 | Image processing apparatus and method for processing images, and recording medium |
US9619921B2 (en) | 2013-10-21 | 2017-04-11 | Samsung Electronics Co., Ltd. | Method and apparatus for performing ray tracing for rendering image |
US9779537B2 (en) | 2012-07-24 | 2017-10-03 | Samsung Electronics Co., Ltd. | Method and apparatus for ray tracing |
-
2009
- 2009-11-27 KR KR1020090115640A patent/KR20110059037A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779537B2 (en) | 2012-07-24 | 2017-10-03 | Samsung Electronics Co., Ltd. | Method and apparatus for ray tracing |
US9619921B2 (en) | 2013-10-21 | 2017-04-11 | Samsung Electronics Co., Ltd. | Method and apparatus for performing ray tracing for rendering image |
WO2016093470A1 (en) * | 2014-12-12 | 2016-06-16 | 삼성전자 주식회사 | Image processing apparatus and method for processing images, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11631239B2 (en) | Iterative spatio-temporal action detection in video | |
US20230038061A1 (en) | Convergence among concurrently executing threads | |
Yi et al. | Heimdall: mobile GPU coordination platform for augmented reality applications | |
CN111143174B (en) | Optimum operating point estimator for hardware operating under shared power/thermal constraints | |
CN110796588A (en) | Simultaneous computation and graph scheduling | |
CN111210498B (en) | Reducing the level of detail of a polygonal mesh to reduce complexity of rendered geometry | |
CN110766778B (en) | Method and system for performing parallel path spatial filtering using hashing | |
US11645533B2 (en) | IR drop prediction with maximum convolutional neural network | |
KR20160109992A (en) | Automated computed kernel fusion, resizing, and interleave | |
CN111798450A (en) | Segmentation using unsupervised neural network training techniques | |
Budge et al. | Out‐of‐core data management for path tracing on hybrid resources | |
US20140375645A1 (en) | Stencil mapped shadowing system | |
US20230298254A1 (en) | Apparatus and method for accelerating bvh builds by merging bounding boxes | |
JP2018124986A (en) | Device and method for scene rendering by path tracing with complex lighting | |
KR20230027083A (en) | Initial culling for ray tracing | |
CN111445003A (en) | Neural network generator | |
CN112041894B (en) | Enhancing realism of a scene involving a water surface during rendering | |
Nguyen et al. | A software-based dynamic-warp scheduling approach for load-balancing the Viola–Jones face detection algorithm on GPUs | |
US20230298255A1 (en) | Apparatus and method for acceleration data structure re-braiding with camera position | |
US11443173B2 (en) | Hardware-software co-design for accelerating deep learning inference | |
KR20110059037A (en) | Apparatus and method for ray-tracing using multi-level kernel | |
US11397615B2 (en) | Methods and apparatuses for coalescing function calls for ray-tracing | |
US9117306B2 (en) | Method of stencil mapped shadowing | |
CN116108952A (en) | Parallel processing for combinatorial optimization | |
US11908064B2 (en) | Accelerated processing via a physically based rendering engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |