KR100951121B1 - Rendering method for indirect illumination effect - Google Patents
- ️Wed Apr 07 2010
KR100951121B1 - Rendering method for indirect illumination effect - Google Patents
Rendering method for indirect illumination effect Download PDFInfo
-
Publication number
- KR100951121B1 KR100951121B1 KR1020080124011A KR20080124011A KR100951121B1 KR 100951121 B1 KR100951121 B1 KR 100951121B1 KR 1020080124011 A KR1020080124011 A KR 1020080124011A KR 20080124011 A KR20080124011 A KR 20080124011A KR 100951121 B1 KR100951121 B1 KR 100951121B1 Authority
- KR
- South Korea Prior art keywords
- photon
- luminance
- information
- point
- map Prior art date
- 2008-12-08
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000009877 rendering Methods 0.000 title claims abstract description 79
- 230000000694 effects Effects 0.000 title claims abstract description 51
- 238000005286 illumination Methods 0.000 title abstract description 14
- 230000008569 process Effects 0.000 claims description 24
- 238000009792 diffusion process Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 abstract description 7
- 230000003044 adaptive effect Effects 0.000 abstract description 5
- 230000000007 visual effect Effects 0.000 abstract description 3
- 235000019557 luminance Nutrition 0.000 abstract 9
- 238000004364 calculation method Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004020 luminiscence type Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
본 발명은 간접 조명 효과를 위한 렌더링 방법에 관한 것이다. 상기 렌더링 방법은, 렌더링 방정식을 외부에서 입사되는 광휘의 종류에 따라 분할하고, 분할된 광휘들 중 간접 조명의 확산반사광휘() 및 비확산반사광휘()에 의한 효과를 계산하는 방법을 제공한다. 상기 확산반사광휘()는 포톤이 가시지점(x)에 입사하기 직전에 떠난 지점(y)에서 확산(diffuse) BRDF에 의해 반사된 광휘로서, 광휘맵과 방향맵을 이용하여 계산된다. 상기 비확산반사광휘()는 포톤이 가시지점(x)에 입사하기 직전에 떠난 지점(y)에서 비확산(non-diffuse) BRDF에 의해 반사된 광휘로서, 포톤들을 이미지 평면에 2차 투영하여 적응적 광휘 정보를 계산된다. The present invention relates to a rendering method for indirect lighting effects. The rendering method divides the rendering equation according to the type of luminance that is incident from the outside, and the diffuse reflection luminance of the indirect illumination among the divided luminances ( ) And non-diffuse reflectance luminance ( Provides a method of calculating the effect of The diffuse reflection luminance ( ) Is the luminance reflected by the diffuse BRDF at the point y left just before the photon enters the visible point x, and is calculated using the luminance map and the direction map. The non-diffuse reflectance brightness ( ) Is the luminance reflected by the non-diffuse BRDF at the point y left just before the photon enters the visual point (x), and the adaptive luminance information is computed by second-projecting the photons onto the image plane. .
본 발명에 따른 간접 조명 효과를 위한 렌더링 방법은 3차원 애니메이션 제작 시간 및 비용을 단축시키고 효과적으로 고품질 영상을 생성할 수 있다. The rendering method for the indirect lighting effect according to the present invention can shorten the production time and cost of the 3D animation and effectively generate a high quality image.
Description
본 발명은 영화나 3차원 애니메이션에서 사용될 수 있는 고품질 영상을 그래픽스 프로세서의 성능을 사용하여 빠른 시간안에 생성할 수 있는 렌더링 기법에 대한 것으로서, 더욱 구체적으로는 렌더링 방정식을 그래픽스 프로세서에 적합하도록 재구성하고 렌더링 방정식에서의 간접 조명 처리를 그래픽스 프로세서를 사용하여 가속화하는 간접 조명 처리를 위한 렌더링 방법에 관한 것이다. The present invention relates to a rendering technique that can generate a high-quality image that can be used in a movie or three-dimensional animation in a short time using the performance of the graphics processor, more specifically to reconstruct and render the rendering equation to suit the graphics processor A rendering method for indirect lighting processing that accelerates indirect lighting processing in an equation using a graphics processor.
렌더링 기술은 컴퓨터 그래픽스 장면의 3차원 디스크립션(description)을 2차원 영상으로 생성하면서 사실감을 부여하는 그래픽스 파이프라인의 최종 과정을 말한다. 이와 같이 가상의 3차원 장면을 사실적인 영상으로 생성하는 렌더링 기술은 실제 영화나 3차원 애니메이션 제작을 위해 반드시 필요한 기술이며 최근 하드웨어의 급속한 발전으로 인하여 게임 등의 실시간 응용에서도 적용되고 있다. Rendering technology refers to the final process of the graphics pipeline that gives reality while generating a three-dimensional description of a computer graphics scene as a two-dimensional image. As such, a rendering technology for generating a virtual 3D scene as a realistic image is a necessary technology for producing a real movie or 3D animation, and is recently applied to real-time applications such as games due to rapid development of hardware.
최근 전역 조명(global illumination) 및 쉐이딩(shading) 기술이 발전하면서, 극사실적인 영상의 렌더링이 가능하게 되었으나, 이를 위해서는 많은 계산 시 간을 필요로 하고 있다. 특히, 3차원 공간에서의 빛이 가지는 복잡한 이동 경로를 물리적 이론에 근거하여 추적함으로써, 보다 자연스러운 전역 조명(global illumination)의 효과를 자동으로 생성할 수 있게 된다. 이와 같이, 전역 조명 효과를 생성하기 위하여 빛의 이동과 3차원 물체들과의 상호 작용을 표현한 물리 방정식을 렌더링 방정식이라고 하며, 이는 사실적인 영상 생성을 위해 가장 기본이 되는 이론이라고 할 수 있다.Recent advances in global illumination and shading technology have enabled the rendering of ultra-realistic images, but this requires a lot of computation time. In particular, by tracking the complex movement path of light in three-dimensional space based on physical theory, it is possible to automatically generate a more natural effect of global illumination. As such, the physics equation expressing the movement of light and the interaction with three-dimensional objects in order to generate the global lighting effect is called a rendering equation, which is the most basic theory for generating realistic images.
이러한 렌더링 방정식을 계산하기 위하여 광선 추적법(ray tracing), 경로 추적법(path tracing), 래디오시티(radiosity), 포톤 매핑(photon mapping) 그리고 최종 모음(final gathering) 등의 전통적인 방법들이 연구되어 왔으며 이들 방법들을 확장하거나 발전시킨 여러 방법들이 개발되었다. 그러나 이러한 발전된 방법들이 요구하는 계산시간이 여전히 많거나 렌더링 방정식을 간략화하는 경우 품질의 저하를 가져오는 문제점을 가지고 있다. 이러한 문제점들로 인하여, 국외의 대형 프로덕션에서와 같이 렌더링에 필요한 하드웨어(예컨대, 렌더팜 등)를 충분히 보유하지 못한 국내 혹은 국외의 소형 제작사에서는 이러한 고품질 렌더링 기법의 사용을 포기해야만 했다.Traditional methods such as ray tracing, path tracing, radiosity, photon mapping, and final gathering have been studied to calculate these rendering equations. Several methods have been developed that extend or evolve these methods. However, these advanced methods still require a lot of computation time or have a problem of degrading quality when simplifying the rendering equation. Due to these problems, domestic or foreign small manufacturers who have not enough hardware (eg, render farms, etc.) for rendering, such as in large overseas productions, have to give up the use of such high quality rendering techniques.
그러므로 현재 이용할 수 있는 PC와 같은 하드웨어의 성능을 최대한 활용하여 영상의 품질을 유지하면서 계산 시간을 단축하는 것이 매우 중요하다. 현재 보급되고 있는 개인용 컴퓨터의 성능은 빠른 속도로 발전하고 있으며 특히 실시간 3차원 렌더링 파이프라인에 특화되어 발전되어온 그래픽스 프로세서(GPU)의 성능은 더욱 빠르게 발전하고 있다. 또한 기존의 고정된 파이프라인에서 사용자가 프로그 래밍한 명령어를 수행할 수 있도록 하는 큰 변화를 가져왔다. GPU는 CPU에 비하여 제약적인 명령어 수행이 가능하지만 특정 부분에 특화된 하드웨어를 가지고 있기 때문에 그래픽스 프로세서를 사용하여 보다 빠르게 계산 가능한 많은 방법들이 발견되고 있다.Therefore, it is very important to shorten the calculation time while maintaining the quality of the image by making the most of the performance of hardware such as a PC currently available. The performance of personal computers, which are currently being deployed, is rapidly developing, and the performance of graphics processors (GPUs), which have been developed specifically for the real-time three-dimensional rendering pipeline, are developing more rapidly. There is also a significant change that allows users to execute programmed instructions on existing fixed pipelines. GPUs can execute instructions more restrictively than CPUs, but because they have hardware specific to a particular part, many methods have been found that can be computed faster using a graphics processor.
현재까지는 전역 조명 효과를 구현하는 방법 중 광선 추적법, 단순화된 래디오시티 방법등을 그래픽스 프로세서를 사용하여 실시간화하거나, 포톤 매핑 기법을 그래픽스 프로세서를 사용하여 가속화하는 연구 등이 발표되었다. 하지만, 영화나 3차원 애니메이션 제작에 사용될 수 있는 고품질 영상에 대한 렌더링 기법을 그래픽스 프로세서를 사용하여 가속화하는 연구는 종래 찾아보기 어렵다. 이러한 전역 조명 효과와 관련된 기존의 선행 기술로서, 대한민국 특허출원번호 10-2004-0108828호의 "실시간 전역조명 효과를 위한 렌더링 장치 및 그 방법"이 있으나 이는 게임 등에 사용될 수 있는 실시간 렌더링 기법에 대한 것으로서, 본 발명에서 추구하는 비실시간 고품질 영상 생성과는 그 목적과 방법에 있어서 차이가 있다.Until now, researches on realizing the global lighting effects such as ray tracing and simplified radiosity methods using a graphics processor in real time, or accelerating photon mapping techniques using a graphics processor, have been published. However, researches that accelerate the rendering techniques for high quality images that can be used in film or 3D animation using a graphics processor are difficult to find. As the existing prior art related to the global lighting effect, there is a "rendering device and method for real-time global lighting effect" of the Republic of Korea Patent Application No. 10-2004-0108828, but this is about a real-time rendering technique that can be used in games, etc. There is a difference in the purpose and method from the non-real time high quality image generation pursued by the present invention.
전술한 문제점을 해결하기 위한 본 발명의 목적은, 렌더링 방정식을 외부에서 입사되는 광휘의 종류에 따라 분할하여 계산하도록 함으로써, 게임 등의 실시간 응용이 아닌 영화나 3차원 애니메이션과 같은 비실시간 응용에서 요구되는 품질의 영상을 낮은 제작 시간과 낮은 제작 비용으로 제공할 수 있는 간접 조명 처리를 위한 렌더링 기법을 제공하는 것이다.An object of the present invention for solving the above-described problems is to divide and calculate the rendering equation according to the type of radiance incident from the outside, which is required in non-real time applications such as movies or 3D animation, rather than real time applications such as games. It provides a rendering technique for indirect lighting processing that can provide a high quality image with low production time and low production cost.
본 발명의 다른 목적은, 실시간 3차원 렌더링을 위해 특화되어 발전해 온 그래픽스 프로세서(GPU)의 성능을 활용하여, 간접 조명 처리를 고속으로 수행할 수 있는 렌더링 기법을 제공하는 것이다. Another object of the present invention is to provide a rendering technique capable of performing indirect lighting processing at high speed by utilizing the performance of a graphics processor (GPU) that has been specialized and developed for real-time three-dimensional rendering.
본 발명의 또 다른 목적은, 특히 제약적인 연산 환경을 가질 수 있으나 대용량 데이터 처리와 메모리 참조등에 있어서 높은 성능을 가지는 다중 또는 스트리밍 프로세서에서 효과적으로 고품질 영상을 생성할 수 있는 기법을 이용하여, 3차원 렌더링을 위해 특화되어 발전해 온 그래픽스 프로세서 등의 성능을 활용하여 범용의 CPU에서 보다 월등한 성능으로 영화나 3차원 애니메이션 제작 시간과 비용을 단축 할 수 있는 렌더링 기법을 제공하는 것이다. Another object of the present invention is to use a technique capable of generating a high quality image effectively in a multi- or streaming processor, which may have a particularly limited computing environment but has high performance in processing a large amount of data and referring to a memory, etc. It is to provide a rendering technique that can reduce the time and cost of producing a movie or 3D animation with superior performance on a general-purpose CPU by utilizing the performance of a graphics processor that has been specially developed for the purpose.
전술한 기술적 과제를 달성하기 위한 본 발명의 특징은, 분할된 렌더링 방정식 중 간접 조명 효과를 위한 렌더링 방법에 관한 것으로서, 상기 렌더링 방법은, A feature of the present invention for achieving the above-described technical problem relates to a rendering method for the indirect lighting effect of the divided rendering equation, the rendering method,
(a) 렌더링하고자 하는 장면에 대한 정보를 입력받는 단계; (b) 상기 장면에 대한 가시성 검사를 수행하여 가시지점들의 정보를 생성하는 단계; (c) 포톤 매핑 기법을 이용하여 근사화된 광휘 정보를 포함하는 전역 포톤 맵 및 비확산 포톤 맵을 생성하는 단계; (d) 상기 전역 포톤 맵을 이용하여 모든 가시지점에 대하여 확산반사광휘()에 의한 효과를 계산하는 단계; (e) 상기 비확산 포톤 맵을 이용하여, 비확산반사광휘()에 의한 효과를 계산하는 단계;를 구비하고, 상기 확산반사광휘()는 포톤이 가시지점(x)에 입사하기 직전에 떠난 지점(y)에서 확산(diffuse) BRDF에 의해 반사된 광휘이며, 상기 비확산반사광휘()는 포톤이 가시지점(x)에 입사하기 직전에 떠난 지점(y)에서 비확산(non-diffuse) BRDF에 의해 반사된 광휘이다. (a) receiving information about a scene to be rendered; (b) generating visibility point information by performing a visibility check on the scene; (c) generating global photon maps and non-diffusion photon maps containing approximated luminance information using photon mapping techniques; (d) Diffuse reflectance luminance for all visible points using the global photon map; Calculating the effect of; (e) Using the non-diffusion photon map, the non-diffuse reflectance luminance ( Computing the effect by; and, the diffuse reflection light ( ) Is the luminance reflected by the diffuse BRDF at the point y left just before the photon enters the visible point (x), and the non-diffuse reflectance luminance ( Is the luminance reflected by the non-diffuse BRDF at point y where the photon left just before entering the visual point x.
전술한 특징을 갖는 렌더링 방법의 상기 (d) 단계는, (d1) 상기 전역 포톤 맵을 하나의 가시지점에 대한 반육면체의 각 면에 렌더링하여, 해당 가시지점에 대하여 반구위 방향으로 들어오는 광휘 정보를 포함하는 반육면체를 생성하는 단계; (d2) 상기 가시지점에 대한 BRDF 정보를 이용하여 반구위 방향을 샘플링하여 방향 맵(direction map)을 생성하는 단계; (d3) 상기 가시지점에 대한 방향 맵을 로딩하여 해당 가시지점에 대한 반육면체 맵을 샘플링하고, 샘플링된 광휘 정보를 합산하여 1ㅧ1 픽셀을 계산하는 단계; (d4) 상기 (d1) 내지 (d4)단계를 모든 가시지점에 대하여 반복 수행하여, 모든 가시지점에 대하여 각각 1ㅧ1 픽셀을 계산하는 단계;를 구비한다.In the step (d) of the rendering method having the above-mentioned characteristic, (d1) the luminance information input in the hemispherical direction with respect to the visible point by rendering the global photon map on each face of the semi-hexahedron for one visible point. Generating a semi-hexahedron comprising a; (d2) generating a direction map by sampling the hemisphere direction using the BRDF information on the visible point; (d3) loading the direction map for the visible point to sample the semi-hexahedral map for the visible point, and adding the sampled luminance information to calculate 1 × 1 pixels; (d4) repeating steps (d1) to (d4) for all visible points, and calculating 1 × 1 pixels for all visible points, respectively.
전술한 특징을 갖는 렌더링 방법의 상기 (e) 단계는, (e1) 상기 비확산 포톤맵을 이용하여, 각 포톤을 중심으로 하여 사전에 설정된 최대 커널 반경(R)의 2배의 길이의 변을 갖는 도형을 형성하고, 상기 도형들을 해당 포톤이 저장된 위치의 법선 벡터를 따라 이미지 평면에 1차 투영하는 단계; (e2) 이미지 평면을 구성하는 각 픽셀에 1차 투영된 포톤들의 개수를 측정하여 해당 픽셀의 픽셀 정보로 저장하는 단계; (e3) 각 픽셀에 픽셀 정보로 저장된 포톤들의 개수에 따라 각 포톤들에 대한 커널 반경들을 조정하는 단계; (e4) 각 포톤을 중심으로 상기 (e1)에서 생성된 도형을 이미지 평면에 재투영하고 커널을 계산하는 과정에서 상기 조정된 커널 반경을 적용하여 각 픽셀에 광휘 정보를 누적하는 단계;를 구비한다. The step (e) of the rendering method having the above-mentioned characteristic may include (e1) a side having a length twice the maximum kernel radius R that is previously set around each photon by using the non-diffusion photon map. Forming a figure and first projecting the figure onto an image plane along a normal vector of a location where a corresponding photon is stored; (e2) measuring the number of photons primarily projected on each pixel constituting the image plane and storing the number of photons as pixel information of the corresponding pixel; (e3) adjusting kernel radii for each photon according to the number of photons stored as pixel information in each pixel; and (e4) accumulating luminance information in each pixel by applying the adjusted kernel radius in the process of reprojecting the figure generated in (e1) to the image plane around each photon and calculating the kernel. .
본 발명의 다른 특징은, 그래픽 프로세서(GPU)를 이용하여, 간접 조명 효과를 계산하는 렌더링 방법에 관한 것으로서, 상기 렌더링 방법은, Another aspect of the invention relates to a rendering method for calculating an indirect lighting effect using a graphics processor (GPU), wherein the rendering method is
(a) 렌더링하고자 하는 장면에 대한 정보를 입력받는 단계; (b) 상기 장면에 대한 가시성 검사를 수행하여 가시지점들의 정보를 생성하는 단계; (c) 포톤 매핑 기법을 이용하여 근사화된 광휘 정보를 포함하는 전역 포톤 맵을 생성하는 단계; (d) 상기 전역 포톤 맵을 하나의 가시지점에 대한 반육면체의 각 면에 렌더링하여, 해당 가시지점에 대하여 반구위 방향으로 들어오는 광휘 정보를 포함하는 반육면체를 생성하는 단계; (e) 상기 가시지점에 대한 BRDF 정보를 이용하여 반구위 방향을 샘플링하여 방향 맵(direction map)을 생성하는 단계; (f)상기 가시지점에 대한 방 향 맵을 로딩하여 해당 가시지점에 대한 반육면체 맵을 샘플링하고, 샘플링된 광휘 정보를 합산하여 1×1 픽셀을 계산하는 단계; (g) 상기 (d) 내지 (f)단계를 모든 가시지점에 대하여 반복 수행하여, 모든 가시지점에 대하여 각각 1×1 픽셀을 계산하는 단계;를 구비하여, 포톤이 가시지점(x)에 입사하기 직전에 떠난 지점(y)에서 확산(diffuse) BRDF에 의해 반사된 광휘인 확산반사광휘()에 의한 간접 조명 효과를 계산한다. (a) receiving information about a scene to be rendered; (b) generating visibility point information by performing a visibility check on the scene; (c) generating a global photon map containing approximated luminance information using photon mapping techniques; (d) rendering the global photon map on each face of the semi-hexahedron for one visible point to generate a semi-hexahedron including luminance information coming in the hemispherical direction with respect to the visible point; (e) sampling a hemisphere direction using the BRDF information for the visible point to generate a direction map; (f) loading the direction map for the visible point to sample the semi-hexahedral map for the visible point, and adding the sampled luminance information to calculate 1 × 1 pixels; (g) repeating steps (d) to (f) for all visible points and calculating 1 × 1 pixels for all visible points, respectively, wherein the photon is incident on the visible point x Diffuse reflectance luminance, which is the luminance reflected by the diffuse BRDF at the point y left just before Calculate the indirect lighting effect by
본 발명의 또 다른 특징은, 그래픽 프로세서(GPU)를 이용하여 간접 조명 효과를 계산하는 렌더링 방법에 관한 것으로서, 상기 렌더링 방법은, Yet another aspect of the present invention relates to a rendering method for calculating an indirect lighting effect using a graphics processor (GPU), wherein the rendering method includes:
(a) 렌더링하고자 하는 장면에 대한 정보를 입력받는 단계; (b) 상기 장면에 대한 가시성 검사를 수행하여 가시지점들의 정보를 생성하는 단계; (c) 포톤 매핑 기법을 이용하여 비난반사 BRDF를 갖는 표면에서 반사되는 포톤을 추출하고, 추출된 포톤의 정보를 이용하여 비확산 포톤 맵을 생성하는 단계; (d) 상기 비확산 포톤맵을 이용하여, 각 포톤을 중심으로 하여 사전에 설정된 최대 커널 반경(R)의 2배의 길이의 변을 갖는 도형을 형성하고, 상기 도형들을 해당 포톤이 저장된 위치의 법선 벡터를 따라 이미지 평면에 1차 투영하는 단계; (e) 이미지 평면을 구성하는 각 픽셀에 1차 투영된 포톤들의 개수를 측정하여 해당 픽셀의 픽셀 정보로 저장하는 단계; (f) 각 픽셀에 픽셀 정보로 저장된 포톤들의 개수에 따라 각 포톤들에 대한 커널 반경들을 조정하는 단계; (g) 각 포톤을 중심으로 상기 (d)에서 생성된 도형을 이미지 평면에 재투영 하고 커널을 계산하는 과정에서 상기 조정된 커널 반 경을 적용하여 각 픽셀에 광휘 정보를 누적하는 단계; 를 구비하여, 포톤이 가시지점(x)에 입사하기 직전에 떠난 지점(y)에서 비확산(non-diffuse) BRDF에 의해 반사된 광휘인 비확산반사광휘()에 의한 간접 조명 효과를 계산한다. (a) receiving information about a scene to be rendered; (b) generating visibility point information by performing a visibility check on the scene; (c) extracting photons reflected from the surface having the non-reflective BRDF using photon mapping technique, and generating a non-diffusion photon map using the extracted photons information; (d) using the non-diffusion photon map, form a figure having a side length of twice the preset maximum kernel radius R about each photon, and normalizing the figures at the location where the corresponding photon is stored. Primary projection along the vector to the image plane; (e) measuring the number of photons projected primarily on each pixel constituting the image plane and storing the number of photons as pixel information of the corresponding pixel; (f) adjusting kernel radii for each photon according to the number of photons stored as pixel information in each pixel; (g) accumulating luminance information in each pixel by applying the adjusted kernel radius in the process of reprojecting the figure generated in (d) onto an image plane around each photon and calculating a kernel; Non-diffuse reflectance luminance, which is a luminance reflected by a non-diffuse BRDF at a point y that leaves the photon just before entering the visible point (x); Calculate the indirect lighting effect by
본 발명에 따른 렌더링 방법은 영화나 3차원 애니메이션 등에 사용될 수 있는 고품질 영상을 생성하기 위한 것으로 렌더링 방정식에서 간접 조명 부분에 해당되는 빛의 모든 경로를 고려하였으며 그 계산에 있어서 근사적인 계산 부분을 최소화한 방법이다. 따라서, 계산 시간 대비 물리적 정확도를 극대화할 수 있는 효과를 가져올 수 있는 기법이다. 이에 따라 조명 효과를 위해 설정해야 하는 변수를 감소시키고 간략화된 변수를 통해 사실적인 조명 효과의 생성을 자동화할 수 있다.The rendering method according to the present invention is to generate a high quality image that can be used for a movie or 3D animation, and considers all the paths of light corresponding to the indirect lighting part in the rendering equation and minimizes the approximate calculation part in the calculation. It is a way. Therefore, it is a technique that can bring the effect of maximizing the physical accuracy compared to the calculation time. This reduces the parameters that need to be set for the lighting effect and automates the creation of realistic lighting effects through simplified parameters.
이러한 자동화의 성능 향상을 통해 제작 시간의 단축과 비용 절감으로 이어 질 수 있는데, 본 발명에서는 특히 일반적으로 사용되는 개인용 컴퓨터(PC)와 그래픽스 프로세서를 사용하여 그 성능을 향상함으로서 다량의 고성능 하드웨어를 구비하고 있지 못한 소형 제작사에서도 본 기법을 적용한 물리 기반 렌더러를 사용한 효율 증대를 기대할 수 있다.This improvement in automation can lead to a reduction in production time and cost. In the present invention, a large amount of high-performance hardware is provided by improving the performance by using a personal computer (PC) and a graphics processor. Even small manufacturers who are not doing so can be expected to increase efficiency using the physical-based renderer using this technique.
본 발명 역시 기존에 CPU에서 많은 계산 시간을 요구했던 고품질 영상 생성을 위한 렌더링 기법을 그래픽스 프로세서를 통해 효과적으로 가능하게 하는 렌더링 기법이다. 본 발명에 따른 렌더링 방법은, CPU와는 다른 입력 형태와 계산 형태를 가지는 그래픽스 프로세서에서의 효율성을 극대화하기 위해, 렌더링 방정식을 분할하여 재구성하고 3차원 장면 정보 및 빛의 정보를 변환하여 렌더링 방정식의 부분 중 가장 많은 시간을 요구하는 간접 조명 계산 부분을 효과적으로 계산하며, 특히 최근 많이 사용되고 있는 고급 알고리즘인 포톤 매핑 기법과 최종 모음 방법을 그래픽스 프로세서에 적합한 형태로 적용하였다.The present invention is also a rendering technique that effectively enables a rendering technique for generating a high quality image, which required a large amount of computation time in a CPU, through a graphics processor. Rendering method according to the present invention, in order to maximize the efficiency in a graphics processor having an input form and a calculation form different from the CPU, by dividing and reconstructing the rendering equation and converting the three-dimensional scene information and light information part of the rendering equation Among them, the indirect lighting calculation part that requires the most time is effectively calculated, and the photon mapping method and the final collection method, which are used recently, are applied to the graphics processor.
따라서, 본 발명에 따른 렌더링 방법은, 렌더링 방정식을 외부에서 입사되는 광휘의 종류에 따라 분할하여 계산함으로써, 3차원 애니메이션 제작 시간과 비용을 단축할 뿐만 아니라 효과적으로 고품질 영상을 생성할 수 있게 된다. Accordingly, in the rendering method according to the present invention, the rendering equation is divided and calculated according to the type of radiance incident from the outside, thereby shortening the production time and cost of the 3D animation and effectively generating a high quality image.
이하, 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예에 따른 전역 조명 처리를 위한 렌더링 방법 및 상기 방법을 적용한 렌더링 장치에 대하여 구체적으로 설명한다. 특히 본 발명에 따른 간접 조명 효과를 위한 렌더링 방법은 그래픽 프로세서(GPU)에 의해 수행되는 것으로서, 렌더링 방정식을 외부에서 입사되는 광휘의 종류에 따라 분할하여 계산함으로써, 3차원 애니메이션 제작 시간과 비용을 단축할 뿐만 아니라 효과적으로 고품질 영상을 생성할 수 있게 된다. Hereinafter, a rendering method for global illumination processing and a rendering apparatus to which the method is applied will be described in detail with reference to the accompanying drawings. In particular, the rendering method for the indirect lighting effect according to the present invention is performed by a graphics processor (GPU), by reducing and calculating the rendering equation according to the type of radiance incident from the outside, to reduce the time and cost of 3D animation production In addition, it is possible to effectively produce high quality images.
도 1은 본 발명의 바람직한 실시예에 따른 전역 조명 처리를 위한 렌더링 방법에 있어서, 렌더링 방정식을 분할하여 계층적으로 도시한 구조도이다. 수학식 1은 원래의 렌더링 방정식이다. 1 is a structural diagram illustrating hierarchically divided rendering equations in a rendering method for global illumination processing according to a preferred embodiment of the present invention. Equation 1 is the original rendering equation.
여기서, 는 3차원 공간상의 한 지점에서 시점방향으로 들어오는 빛을 말하며, 는 해당 지점에서의 자체 발광에 의한 효과 부분이며, 는 외부로부터 해당 지점의 반구위 방향으로 입사하는 광휘에 의한 효과 부분으로서, 수학식 2와 같이 표현된다. here, Refers to the light coming in the view direction from a point in three-dimensional space, Is part of the effect of self-luminescence at that point, Is an effect part due to light incident from the outside in the hemisphere direction of the corresponding point, and is expressed as in Equation 2 below.
한편, 수학식 3은 본 발명에 따라 이 분할된 렌더링 방정식이다. 이하, 도 1 및 수학식 3을 참조하여, 본 발명에 따라 렌더링 방정식의 분할 방법을 설명한다. Meanwhile, Equation 3 is according to the present invention. This is a partitioned rendering equation. Hereinafter, a method of dividing a rendering equation according to the present invention will be described with reference to FIGS. 1 and 3.
수학식 3에 표시된 바와 같이, 렌더링 방정식을 해당 지점에서의 자체 발광에 의한 효과 부분인 을 제외하고, 에서 고려해야 하는 반구위 방향으로 입사하는 광휘를 크게 BRDF의 성질과 입사하는 빛의 성질에 따라 분해할 수 있다. 여기서, BRDF(Bidirectional Reflectance Distribution Function)는 물체의 표면에 대한 반사 속성 정보이다. As shown in Equation 3, the rendering equation is the part of the effect Except In the hemispherical direction, which should be considered in, the luminance can be largely decomposed according to the properties of the BRDF and the incident light. Here, BRDF (Bidirectional Reflectance Distribution Function) is reflection property information on the surface of the object.
본 발명에서는 첫째, 원래의 렌더링 방정식의 적분부가 계산해야 하는 모든 요소를 포함하면서 둘째, 각 부분이 효과적으로 계산될 수 있도록 하는 조건을 만족하도록 원래의 렌더링 방정식의 를 분할한다. 도 1을 참조하면, 먼저 물체의 BRDF의 성질에 따라 반구위 방향을 정반사 방향과 비정반사 방향으로 분할하고, 이중 정반사(Specular) 방향을 통해 입사한 간접 광휘를 라 표기한다. 나머지 비정반사(nonspecular) 방향을 통해 입사하는 간접 광휘를 광원으로부터 직접 들어오는 직접광(direct light)의 방향과 공간상의 다른 물체와 1회 이상 상호작용 후 들어오는 간접광(indirect light)의 방향으로 분할하고, 이중 직접광의 방향에 대한 광휘를 로 표기한다. 다시, 나머지 간접광에 대한 방향 집합을 (1) 정반사 방향으로만 반사 또는 굴절된 간접광, (2) 정반사와 비정반사 방향 모두를 포함하고 있는 간접광 중 최종 반사 또는 굴절 방향이 난반사 방향인 간접광, 그리고 (3) 정반사와 비정반사 방향 모두를 포함하고 있는 간접광 중 최종 반사 또는 굴절 방향이 비난반사 방향인 간접광으로 분할하고, 이들 방향 집합에 의해 계산되는 광휘를 각각 , , 으로 표기한다. 이렇게 렌더링 방정식에서 복잡한 계산을 요하는 반구위 방향에 대한 적분을 누락되는 방향없이 분할함으로서 기존에 이미 제안된 방법 및 본 발명에서 제안하는 방법을 각 부분에 적용하여 효과적으로 전체 방정식을 계산할 수 있게 된다. 특히 , , 의 세가지 광휘 요소들은 기존의 여러 효율적인 방법들을 사용하여 계산이 가능하다. 본 발명에서는 정반사와 비정 반사를 가지는 간접광에 의한 광휘를 가시지점()에 입사하기 직전에 떠난 지점에서 확산(diffuse) BRDF에 의해 반사된 광휘()와 가시지점()에 입사하기 직전에 떠난 지점에서 비확산(non-diffuse) BRDF에 의해 반사된 광휘()로 분할함으로서, 전역 조명 효과 처리에 있어서 실제로 가장 계산이 어려운 비정반사(와를 제외한) 간접 조명 부분을 효과적으로 계산할 수 있도록 한다. 부분은 최종 모음 기법을 그래픽스 프로세서를 사용하여 가속화 함으로서 노이즈가 제거된 고품질의 간접 조명을 계산하고, 는 최종 모음 기법에 적합하지 않는 성질의 광휘 정보를 표현하고 있으므로 적응적인 photon splat 기법을 그래픽스 프로세서에 빠르게 계산한다.In the present invention, firstly, the integral part of the original rendering equation includes all the elements to be calculated, and secondly, to satisfy the condition that each part can be effectively calculated. Split Referring to FIG. 1, first, the hemispherical direction is divided into the specular reflection direction and the non-reflection direction according to the property of BRDF of the object, and the indirect radiance incident through the double specular reflection direction is defined. It is written as Indirect light incident through the remaining nonspecular directions is divided into the direction of direct light coming directly from the light source and the direction of indirect light coming after one or more interactions with other objects in space. For the direction of the double direct light It is written as. Again, the indirect light in which the set of directions for the remaining indirect light are reflected or refracted only in the specular reflection direction, and (2) the indirect light in which the final reflection or refraction direction is the diffuse reflection direction among indirect light including both the specular and non-reflective directions (3) The indirect light including both the specular and non-reflective directions is divided into indirect light in which the final reflection or refraction direction is the non-reflective direction, and the luminance calculated by the set of these directions is respectively divided. , , Mark as. In this way, by dividing the integral for the hemisphere direction requiring a complicated calculation in the rendering equation without a missing direction, it is possible to effectively calculate the entire equation by applying the previously proposed method and the method proposed in the present invention to each part. Especially , , The three brightness components of can be calculated using many existing efficient methods. In the present invention, the brightness of the indirect light having a specular reflection and non-reflective point of view ( The luminance reflected by the diffuse BRDF at the point just before entering ) And the point of view ( Luminance reflected by a non-diffuse BRDF at the point just before entering By dividing by), it is actually the most difficult to calculate non-reflective ( Wow Indirect lighting can be calculated effectively. Part accelerates the final vowel technique using a graphics processor to calculate high-quality indirect lighting without noise, Because we represent luminance information that is not suitable for the final vowel technique, we can quickly compute the adaptive photon splat technique on the graphics processor.
전술한 구성을 갖도록 분할된 렌더링 방정식을 계산함에 있어서, 본 발명에서는 렌더링 방정식 중 , ,, 의 요소는 기존의 방법을 이용하여 계산하며, 간접 광원에 의한 조명 처리를 위한 요소인 , 에 대한 계산 방법만을 제시한다. In calculating the rendering equation divided to have the above-described configuration, in the present invention, , , , The element of is calculated by using the existing method, which is an element for processing light by indirect light source. , Only the calculation method for.
이하, 도 2 및 도 3을 참조하여, 본 발명의 바람직한 실시예에 따른 간접 조명 효과를 위한 렌더링 방법을 구체적으로 설명한다. 도 2는 본 발명에 따른 간접 조명 효과를 위한 렌더링 방법을 순차적으로 도시한 흐름도이며, 도 3은 본 발명에 따라 비정반사 표면(nonspecular surface)으로 입사하는 간접 광원에 의한 조명 처리를 설명하기 위하여 개념적으로 도시한 것이다. Hereinafter, a rendering method for indirect lighting effects according to a preferred embodiment of the present invention will be described in detail with reference to FIGS. 2 and 3. 2 is a flowchart sequentially illustrating a rendering method for an indirect lighting effect according to the present invention, and FIG. 3 is a conceptual diagram for explaining an illumination process by an indirect light source incident on a nonspecular surface according to the present invention. It is shown as.
도 2를 참조하면, 먼저 렌더링할 장면 정보를 입력받는다(단계 200). 여기서, 장면 정보에는 표면 재질 정보를 가지고 있는 3차원 물체, 광원, 카메라 정보 등과 같이, 렌더링할 장면을 가상의 3차원 공간으로 표현하는 모든 정보가 포함된다. Referring to FIG. 2, first, scene information to be rendered is received (step 200). Here, the scene information includes all information representing a scene to be rendered in a virtual three-dimensional space, such as three-dimensional object, light source, and camera information having surface material information.
다음, 장면을 구성하는 모든 픽셀에 대하여 가시성 검사(visibility test)를 수행하여 가시지점들을 검출하고, 검출된 가시지점들에 대한 정보를 생성한다(단계 210). 상기 가시성 검사는 이미지 공간 기반 방법(image space method)이나 물체 공간 기반 방법(object space method)에 포함되는 다양한 기법들을 통해 효과적으로 계산 가능하다. 상기 가시성 검사 방법은 당업계에 다양하게 실행되고 있으므로, 본 명세서에서는 본 발명의 요지와는 관계가 없는 가시성 검사에 대한 구체적인 설명은 생략한다. Next, a visibility test is performed on all pixels constituting the scene to detect visible points, and information about the detected visible points is generated (step 210). The visibility test can be effectively calculated through various techniques included in an image space method or an object space method. Since the visibility test method is variously performed in the art, a detailed description of the visibility test that is not related to the gist of the present invention will be omitted.
다음, 포톤 매핑 기법을 통해 근사화된 다중 반사 광휘 정보를 포함하는 전역 포톤 맵과 비확산 포톤 맵이 각각 생성된다(단계 220). 더욱 근사화된 광휘 정보를 사용하고자 하는 경우, 직접 광원에 의한 쉐이딩 정보를 계산하여 사용할 수 있다. 상기 비확산 포톤 맵은 비난반사 BRDF를 가지는 표면에서 반사된 포톤을 추출하여 생성한 포톤 맵이다. Next, a global photon map and a non-diffusion photon map including approximated multi-reflected luminance information are generated through the photon mapping technique (step 220). In order to use the approximated luminance information, the shading information by the direct light source may be calculated and used. The non-diffusion photon map is a photon map generated by extracting photons reflected from a surface having non-reflective BRDF.
다음, 영상 품질을 유지하면서 그래픽스 프로세서의 계산 성능을 향상하기 위해, 간략화된 메쉬 정보를 생성한다(단계 230). 여기서 생성된 메쉬 정보는 파일로 저장되어 후공정에서 사용된다. Next, in order to improve the computational performance of the graphics processor while maintaining the image quality, simplified mesh information is generated (step 230). The generated mesh information is saved as a file and used in the later process.
다음, 상기 전역 포톤 맵을 그래픽스 프로세서에서 효과적으로 표현 가능한 텍스쳐 형태의 광휘 맵(irradiance map)으로 변환한다(단계 240). 상기 광휘 맵으로 변환하는 과정도 GPU를 사용하여 매우 효과적으로 계산될 수 있다. Next, the global photon map is converted into an intensity map of a texture form that can be effectively expressed in a graphics processor (step 240). The process of converting to the luminance map can also be calculated very efficiently using the GPU.
다음, 상기 광휘 맵을 이용하여 확산 반사 광휘()에 의한 효과를 모든 픽셀에 대하여 반복적으로 계산한다(단계 250). 상기 확산 반사 광휘()는 간접광에 의한 광휘 중 비정반사 표면을 갖는 가시시점()에 입사하기 직전에 떠난 지점으로부터 확산(diffuse) BRDF에 의해 반사된 광휘를 말하는 것으로서, 도 3에 도시된 가시지점()에 입사하기 직전에 떠난 지점이 확산 표면(diffuse surface)를 갖는 경우에 해당된다. 단계 250에 대하여 구체적인 설명은 후술한다. Next, the diffuse reflection luminance using the luminance map ( Is computed repeatedly for every pixel (step 250). The diffuse reflection luminance ( ) Is the field of view () with the non-reflective surface of the luminance caused by indirect light. Refers to the brightness reflected by the diffuse BRDF from the point left just before entering the This corresponds to the case where a point left just before entering into a has a diffuse surface. Details of operation 250 will be described later.
다음, 2단계 포톤 투영 과정을 통해 비확산 반사 광휘()에 의한 효과를 계산한다(단계 270). 상기 비확산 반사 광휘()는 정반사와 비정반사를 가지는 간접광에 의한 광휘 중 가시시점()에 입사하기 직전에 떠난 지점에서 비확산(non-diffuse) BRDF에 의해 반사된 광휘를 말하는 것으로서, 도 3에 도시된 가시지점()에 입사하기 직전에 떠난 지점이 비확산 표면(nondiffuse surface)를 갖는 경우에 해당된다. 단계 270에 대하여 구체적인 설명은 후술한다. Next, a two-step photon projection process allows Is calculated (step 270). The non-diffuse reflective brightness ( ) Is the visible point of luminance of indirect light with specular and non-reflective light. ) Refers to the brightness reflected by the non-diffuse BRDF at the point immediately before entering the This is the case where the point left just before entering a) has a nondiffuse surface. Details of operation 270 will be described later.
전술한 과정을 통해 본 발명에 따른 간접 조명에 의한 효과를 계산할 수 있게 된다. Through the above-described process, it is possible to calculate the effect of indirect lighting according to the present invention.
이하, 도 4 및 도 5를 참조하여 본 발명에 따른 간접광 조명 효과 중 확산 반사 광휘()에 의한 효과를 계산하는 과정(도 2의 단계 250에 해당됨)을 구체적 으로 설명한다. 도 4는 본 발명에 따른 렌더링 방법 중 확산 반사 광휘()에 의한 효과를 계산하는 과정을 순차적으로 도시한 흐름도이며, 도 5는 확산 반사 광휘의 계산 과정을 설명하기 위하여 도시한 도면이다. 도 5에 있어서, 현재 시점으로부터 보이는 3차원 물체위 가시지점()에 대하여, 는 법선 방향, 는 시점 방향, 는 반구위 방향에 대해 2차원 매개변수(i,j)로 표현된 샘플 방향, 는 를 샘플링할 때 사용된 2차원 매개변수 공간의 해상도로서, 총 개의 샘플링을 수행한 것을 각각 의미한다.Hereinafter, the diffuse reflection luminance of the indirect light illumination effect according to the present invention with reference to FIGS. ) Will be described in detail the process (corresponding to step 250 of FIG. 2). 4 is a diffuse reflection luminance of a rendering method according to the present invention; FIG. 5 is a flowchart sequentially illustrating a process of calculating an effect of FIG. 5, and FIG. 5 is a diagram illustrating a process of calculating diffuse reflection luminance. In FIG. 5, the visible point on the three-dimensional object seen from the current viewpoint ( )about, The normal direction, Is the view direction, Is the sample direction expressed as a two-dimensional parameter (i, j) for the hemisphere direction, Is Resolution of the two-dimensional parameter space used when sampling Means that each of two samplings is performed.
도 4를 참조하면, 먼저 광휘맵과 간략화된 메쉬 정보를 반육면체의 5면에 렌더링하여 가시지점()에서 반구 방향으로 들어오는 광휘 정보를 포함하는 반육면체 를 생성한다(단계 252). Referring to FIG. 4, first, a luminance map and simplified mesh information are rendered on five surfaces of a semi-hexahedron to generate a visible point ( In step 252, a semi-hexahedron including luminance information coming in the hemisphere direction is generated.
다음, 가시지점()에 대한 BRDF 정보의 특성을 반영하는 반구위 방향 샘플 집합들로 구성되는 방향 맵(direction map)을 기준 지역 좌표계(local coordinate)안에서 생성하고 이를 텍스쳐 형태로 저장한다(단계 254). Next, the point of view ( A direction map, which consists of sets of hemisphere orientation samples reflecting the characteristics of BRDF information, is generated in a reference local coordinate system and stored in a texture form (step 254).
다음, 저장된 방향 맵의 각 샘플 방향을 샘플링이 이루어진 기준 지역 좌표계에서 쉐이딩 계산이 이루어지는 지점의 개별 지역 좌표계로 변환하여 상기 반육면체를 샘플링한다(단계 256). 단계 256은, 방향 맵의 샘플 방향에 대한 정보를 그래픽스 프로세서의 텍스처로 로딩하고, 상기 반육면체에 저장된 광휘맵을 육면체 맵(cube map)으로 로딩한 후, 픽셀 쉐이더를 사용하여 상기 육면체 맵에 대하여 하드웨어적으로 가속화된 샘플링을 수행함으로써, 보다 효과적인 계산을 수행하게 된 다. Next, the semi-hexahedron is sampled by converting each sample direction of the stored direction map into an individual local coordinate system at a point where shading calculation is performed in the sampled reference local coordinate system. Step 256 provides information about the sample direction of the direction map. More efficient calculation by loading into the texture of the graphics processor, loading the luminance map stored in the semi-hexahedron into a cube map, and then performing hardware accelerated sampling on the cube map using a pixel shader. Will be performed.
다음, 육면체 맵을 샘플링해서 얻어진 광휘 정보를 그래픽스 프로세서에서 하드웨어적으로 제공하는 밉맵 연산을 사용하여 합산하여 1×1 픽셀 형태의 최종 간접 조명을 구한다(단계 258). Next, the luminance information obtained by sampling the hexahedral map is summed using a mipmap operation provided in hardware by the graphics processor to obtain final indirect illumination in the form of 1 × 1 pixel (step 258).
전술한 단계 252 내지 단계 256을 모든 가시지점에 대하여 반복 수행하여, 모든 가시지점에 대하여 각각 1×1 픽셀을 계산하고(단계 259) 이들을 메인 메모리로 읽어옴으로써, 확산반사광휘에 의한 효과의 계산을 완료한다. 이와 같이, 밉맵 연산에 의한 1×1 의 결과 픽셀만을 메인 메모리로 가져옴으로써, 메모리간 데이터 이동으로 인한 오버헤드(overhead)를 최소화할 수 있다. 즉, 전술한 단계 252부터 단계 256은 주어진 하나의 가시 지점에서 그래픽스 프로세서를 사용한 최종 모음()을 수행하는 것으로서, 모든 가시 지점에 대해 이 단계들을 반복해서 수행하거나 캐싱 방법등을 사용해 효과적으로 모든 픽셀에 대한 간접 조명 정보를 생성하게 된다.By repeating steps 252 to 256 described above for all visible points, calculating 1 × 1 pixels for all visible points (step 259) and reading them into main memory, thereby calculating the effect by diffused reflection light. To complete. As such, by only bringing 1 × 1 result pixels by the mipmap operation into the main memory, overhead due to data movement between memories can be minimized. That is, in step 252 to step 256 described above, the final collection using the graphics processor at a given point of view ( By repeating these steps for all visible points, or using caching methods, we can effectively generate indirect lighting information for all pixels.
이하, 도 6 및 도 7을 참조하여, 본 발명에 따른 간접 조명 효과 중 비확산 반사 광휘()에 의한 효과를 계산하는 과정(도 2의 단계 270에 해당됨)을 설명한다. 도 6은 본 발명에 따른 렌더링 방법 중 비확산 반사 광휘()의 효과를 계산하는 과정을 순차적으로 도시한 흐름도이며, 도 7은 비확산 반사 광휘의 계산 과정을 설명하기 위하여 도시한 도면이다. 도 7에 있어서, 투영하고자 하는 비난반사 포톤 p가 저장된 3차원 공간상의 지점 에 대하여 는 법선 방향, 는 포톤 p에 대한 사각형이 이미지 평면에 투영되었을 때 영향을 미치는 특정 픽셀에서 보이는 실제 물체위 지점, 는 포톤 p가 저장된 지점 와 투영된 특정 픽셀에서 보이는 실제 지점 사이의 거리를 의미한다.Hereinafter, with reference to FIGS. 6 and 7, the non-diffuse reflective brightness of the indirect lighting effect according to the present invention ( ), A process of calculating an effect by () corresponds to step 270 of FIG. 2). 6 is a view illustrating non-diffuse reflection luminance of a rendering method according to the present invention; FIG. 7 is a flowchart sequentially illustrating a process of calculating an effect of FIG. 7, and FIG. 7 is a diagram illustrating a process of calculating a non-diffuse reflection luminance. 7, the point on the three-dimensional space in which the non-reflective photons p to be projected are stored about The normal direction, Is the point on the actual object visible at a particular pixel that affects when the rectangle for photon p is projected onto the image plane, Is the point where the photon p is stored And the actual point visible at the particular projected pixel Means the distance between.
도 6을 참조하면, 먼저 비확산 포톤맵의 광휘 정보를 이용하여, 각 포톤을 중심으로 하여 사전에 설정된 최대 커널 반경(R)의 2배의 길이의 변을 갖는 사각형들을 해당 포톤이 저장된 표면에 접하도록 형성하고, GPU의 래스터화 연산을 통해 상기 사각형들을 해당 포톤이 저장된 위치의 법선 벡터를 따라 이미지 평면(image plane)에 1차 투영한다(단계 272). 여기서, 상기 비확산 포톤맵은 포톤 매핑기법을 이용하여 비난반사 BRDF를 가지는 표면에서 반사된 포톤을 추출하여 저장한 포톤 맵이다. Referring to FIG. 6, first, by using luminance information of a non-diffusion photon map, quadrangles having sides of each photon having a length of twice the maximum kernel radius R previously set are contacted with a surface on which the photons are stored. And quadrature are first projected onto the image plane along the normal vector of the location where the corresponding photons are stored, via a rasterization operation of the GPU (step 272). The non-diffusion photon map is a photon map obtained by extracting and storing photons reflected from a surface having non-reflective BRDF using a photon mapping technique.
다음, 이미지 평면을 구성하는 각 픽셀에 1차 투영된 포톤들의 개수를 측정하고 상기 측정된 포톤들의 개수를 픽셀 정보로 저장한다(단계 274).Next, the number of photons projected on each pixel constituting the image plane is measured, and the measured number of photons is stored as pixel information (step 274).
다음, 각 픽셀에 픽셀 정보로 저장된 포톤들의 개수와 사전에 설정된 하나의 픽셀에 영향을 미치는 최대 포톤의 개수의 비율에 따라, 각 포톤들에 대한 커널 반경들을 조정한다(단계 276). Next, the kernel radii for each photon are adjusted according to the ratio of the number of photons stored as pixel information to each pixel and the maximum number of photons affecting one preset pixel (step 276).
다음, 포톤 매핑 기법을 이용하여, 각 포톤을 중심으로 하여 상기 단계 272에서 생성된 사각형을 해당 포톤이 저장된 위치의 법선 벡터를 따라 이미지 평면에 재투영하고 커널을 계산하는 과정에서 상기 조정된 커널 반경을 적용함으로서, 2차 투영된 포톤들의 분포에 따른 적응적 광휘 정보를 계산한다. Next, using the photon mapping technique, the adjusted kernel radius in the process of reprojecting the quadrangle generated in step 272 to the image plane along the normal vector of the location where the photon is stored and calculating the kernel, is centered on each photon. By applying, the adaptive luminance information according to the distribution of the second projected photons is calculated.
전술한 과정을 통해 본 발명에 따른 간접 조명 중 비확산 반사 광휘에 의한 효과를 계산하게 된다. 간접 조명 중 비확산 반사 광휘에 의한 효과를 계산하기 위하여는 입사된 지점과 입사하기 직전에 반사된 지점의 BRDF를 모두 고려하여야 되므로, 종래의 최종 수집 방법으로는 계산이 쉽지 않다. 하지만, 본 발명에 따른 비확산 반사 광휘에 의한 효과를 계산하는 방법은 비확산 포톤 맵을 그래픽스 프로세서를 사용하여 이미지 평면에 투영함으로써, 비확산 간접 조명을 효과적으로 생성할 수 있다. Through the above-described process, the effect due to the non-diffuse reflective brightness of the indirect illumination according to the present invention is calculated. In order to calculate the effect due to the non-diffuse reflection brightness of the indirect illumination, both the incident point and the BRDF of the reflected point immediately before the incidence should be considered, and thus the calculation is not easy with the conventional final collection method. However, the method of calculating the effect by the non-diffusing reflected light according to the present invention can effectively generate non-diffusion indirect illumination by projecting the non-diffusion photon map onto the image plane using a graphics processor.
전술한 바와 같이, 본 발명에 따른 비확산 반사 광휘에 의한 효과를 계산하는 방법은, 모든 픽셀 샘플에 대한 가시 지점 정보를 텍스처 형태로 GPU에 입력하고 각 비확산 포톤이 저장된 3차원 물체 지점의 법선에 수직인 사각형 형태로 포톤 정보를 변환하여 드로우(draw) 함으로서 이미지 평면에 투영한다. 이때 각 포톤이 가지고 있는 정보는 사각형의 각 꼭지점에 텍스처 좌표 형태로 넣어 줌으로써 래스터화(rasterization) 과정에서 생성된 프래그먼트(fragment)들이 동일한 정보를 가지고 투영될 수 있도록 한다. 픽셀 쉐이더(pixel shader)에서는 투영되는 픽셀의 가시 정보와 프래그먼트의 포톤 정보를 사용하여 보간 커널(interpolation kernel)을 계산함으로서 포톤이 해당 픽셀에 영향을 미치는 광휘를 계산한다. 일반적으로 포톤 매핑 기법을 사용할 때 저장된 포톤의 분포가 장면의 특성에 따라 비균일한 경우가 많으므로, 포톤이 적은 지역에서는 충분한 커널 반경을 사용하여 부드러운 광휘를 생성하고 포톤이 많은 지역에서는 커널 반경을 줄여 세밀함을 유지하도록 하는 방법이 사용되고 있다. 그러나 모든 과정이 끝날 때까지 하나의 픽셀에 영향 을 미치는 포톤의 전체 개수를 알 수 없는 투영 방법의 경우에는 커널 반경과 포톤 개수의 두가지 변수를 모두 사용하여 계산 중간에 동적으로 커널 반경을 조절하는 적응적인 커널 적용이 불가능하다. 비동적인 커널 반경을 사용하거나 적응적인 적용을 위해 복잡한 자료구조를 사용하여야 했던 기존의 기법들과는 달리, 본 기법에서는 포톤을 두번 투영하는 간단한 확장을 사용하여 동적인 커널 반경을 적용한다. 첫번째 투영에서는 사용자에 의해 정의된 초기 커널 반경을 사용하여 투영된 포톤들에 대해 각 픽셀에서의 광휘 정보 대신 횟수를 누적함으로서 픽셀에 영향을 미치는 포톤의 개수를 구하고 두번째 투영에서는 사용자에 의해 정의된 최대 포톤 개수와 첫번째 투영에서 계산된 실제 영향을 미치는 포톤 개수의 비율로 커널 반경을 재조정하여 픽셀 쉐이더에서 새로 계산된 반경 밖에 위치한 포톤에 대해서는 계산하지 않음으로서 포톤 개수에 의한 적응적인 계산을 가능하게 하였다. 이러한 방법을 통해 포톤이 많은 지역에 세밀한 광휘의 형태를 보존하고 포톤이 적은 지역에는 부드러운 광휘를 생성하는 것이 가능하다As described above, the method for calculating the effect due to the non-diffuse reflection luminance according to the present invention is to input the visual point information for all the pixel samples to the GPU in the form of a texture and perpendicular to the normal of the three-dimensional object point where each non-diffusion photon is stored. The photon information is converted into a rectangular shape and drawn, and projected onto the image plane. At this time, the information possessed by each photon is put in the form of texture coordinates at each vertex of the rectangle so that the fragments generated during the rasterization process can be projected with the same information. In the pixel shader, the interpolation kernel is calculated by using the visible information of the projected pixel and the photon information of the fragment to calculate the brightness of the photon affecting the pixel. In general, when using the photon mapping technique, the distribution of stored photons is often non-uniform, depending on the nature of the scene. Therefore, in areas with few photons, use a sufficient kernel radius to produce smooth radiance. The method of reducing the detail is used. However, for projection methods where the total number of photons affecting one pixel is not known until the end of the process, an adaptation that dynamically adjusts the kernel radius in the middle of the calculation using both the kernel radius and the number of photons is used. No kernel application is possible. Unlike conventional techniques that used inflexible kernel radii or complex data structures for adaptive applications, this technique applies dynamic kernel radii using a simple extension that projects two photons. In the first projection, the initial kernel radius defined by the user is used to calculate the number of photons that affect the pixel by accumulating the number of times instead of the luminance information at each pixel for the projected photons, and in the second projection, the maximum defined by the user. The kernel radius is readjusted by the ratio of the number of photons to the number of photons that have an actual effect calculated in the first projection, allowing for adaptive calculation by the number of photons by not calculating photons outside the newly calculated radius in the pixel shader. In this way, it is possible to preserve the fine luminosity in areas with high photons and to produce smooth luminosity in areas with low photons.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. Although the present invention has been described above with reference to preferred embodiments thereof, this is merely an example and is not intended to limit the present invention, and those skilled in the art do not depart from the essential characteristics of the present invention. It will be appreciated that various modifications and applications which are not illustrated above in the scope are possible. And differences relating to such modifications and applications should be construed as being included in the scope of the invention as defined in the appended claims.
본 발명에 따른 렌더링 방법은 게임 등의 실시간 응용이 아닌 영화나 3차원 애니메이션과 같은 비실시간 응용에서 사용될 수 있다. The rendering method according to the present invention can be used in non-real time applications such as movies or 3D animations, but not real time applications such as games.
도 1은 본 발명의 바람직한 실시예에 따른 전역 조명 처리를 위한 렌더링 방법에 있어서, 렌더링 방정식을 분할하여 계층적으로 도시한 구조도이다. 1 is a structural diagram illustrating hierarchically divided rendering equations in a rendering method for global illumination processing according to a preferred embodiment of the present invention.
도 2는 본 발명에 따른 간접 조명 처리를 위한 렌더링 방법을 순차적으로 도시한 흐름도이며, 도 3은 본 발명에 따라 비정반사 표면(nonspecular surface)으로 입사하는 간접 광원에 의한 조명 처리를 설명하기 위하여 개념적으로 도시한 것이다. FIG. 2 is a flowchart sequentially illustrating a rendering method for indirect lighting processing according to the present invention, and FIG. 3 is a conceptual diagram for describing an illumination processing by an indirect light source incident on a nonspecular surface according to the present invention. It is shown as.
도 4는 본 발명에 따른 렌더링 방법 중 확산 반사 광휘()에 의한 효과를 계산하는 과정을 순차적으로 도시한 흐름도이며, 도 5는 확산 반사 광휘의 계산 과정을 설명하기 위하여 도시한 도면이다.4 is a diffuse reflection luminance of a rendering method according to the present invention; FIG. 5 is a flowchart sequentially illustrating a process of calculating an effect of FIG. 5, and FIG. 5 is a diagram illustrating a process of calculating diffuse reflection luminance.
도 6은 본 발명에 따른 렌더링 방법 중 비확산 반사 광휘()의 효과를 계산하는 과정을 순차적으로 도시한 흐름도이며, 도 7은 비확산 반사 광휘의 계산 과정을 설명하기 위하여 도시한 도면이다. 6 is a view illustrating non-diffuse reflection luminance of a rendering method according to the present invention; FIG. 7 is a flowchart sequentially illustrating a process of calculating an effect of FIG. 7, and FIG. 7 is a diagram illustrating a process of calculating a non-diffuse reflection luminance.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080124011A KR100951121B1 (en) | 2008-12-08 | 2008-12-08 | Rendering method for indirect illumination effect |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080124011A KR100951121B1 (en) | 2008-12-08 | 2008-12-08 | Rendering method for indirect illumination effect |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100951121B1 true KR100951121B1 (en) | 2010-04-07 |
Family
ID=42219544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080124011A KR100951121B1 (en) | 2008-12-08 | 2008-12-08 | Rendering method for indirect illumination effect |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100951121B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101845231B1 (en) | 2011-06-14 | 2018-04-04 | 삼성전자주식회사 | Image processing apparatus and method |
US10297072B2 (en) | 2014-12-15 | 2019-05-21 | Samsung Electronics Co., Ltd. | 3D rendering method and apparatus |
US10593096B2 (en) | 2016-12-20 | 2020-03-17 | Samsung Electronics Co., Ltd. | Graphics processing employing cube map texturing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100812718B1 (en) * | 2004-03-15 | 2008-03-12 | 미쓰보시 다이야몬도 고교 가부시키가이샤 | Substrate dividing system, substrate manufacturing equipment, substrate scribing method and substrate dividing method |
-
2008
- 2008-12-08 KR KR1020080124011A patent/KR100951121B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100812718B1 (en) * | 2004-03-15 | 2008-03-12 | 미쓰보시 다이야몬도 고교 가부시키가이샤 | Substrate dividing system, substrate manufacturing equipment, substrate scribing method and substrate dividing method |
Non-Patent Citations (2)
Title |
---|
2004년 한국정보과학회 가을 학술발표논문집, Vol.31. No.2, 2004.10.21., 정재광 외, "가변 포톤 반지름을 이용한 Photon Mapping 랜더링 방법", pp.649-651* |
컴퓨터그래픽스학회논문지. vol.14 no.4 ,2008.12.,송기동 외, "연기 파티클에 대한 포톤 매핑 기반의 렌더링 기법". pp.7-18.* |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101845231B1 (en) | 2011-06-14 | 2018-04-04 | 삼성전자주식회사 | Image processing apparatus and method |
US10297072B2 (en) | 2014-12-15 | 2019-05-21 | Samsung Electronics Co., Ltd. | 3D rendering method and apparatus |
US10593096B2 (en) | 2016-12-20 | 2020-03-17 | Samsung Electronics Co., Ltd. | Graphics processing employing cube map texturing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11302058B2 (en) | 2022-04-12 | System for non-planar specular reflections in hybrid ray tracing |
Szirmay‐Kalos et al. | 2008 | Displacement Mapping on the GPU—State of the Art |
Müller et al. | 2005 | Acquisition, synthesis, and rendering of bidirectional texture functions |
Haines et al. | 2018 | Real-time rendering |
Ritschel et al. | 2009 | Micro-rendering for scalable, parallel final gathering |
US8013857B2 (en) | 2011-09-06 | Method for hybrid rasterization and raytracing with consistent programmable shading |
US9569884B2 (en) | 2017-02-14 | Method for generating shadows in an image |
JP4705357B2 (en) | 2011-06-22 | System and method for robust sampling for real-time relighting of objects in a natural lighting environment |
TW201805894A (en) | 2018-02-16 | 3D rendering method and 3D graphics processing device |
CN112396684A (en) | 2021-02-23 | Ray tracing method, ray tracing device and machine-readable storage medium |
Agus et al. | 2017 | Mobile graphics |
Davis et al. | 2007 | Interactive refractions with total internal reflection |
US7230620B2 (en) | 2007-06-12 | Rendering deformable and animated surface reflectance fields |
KR100951121B1 (en) | 2010-04-07 | Rendering method for indirect illumination effect |
Policarpo et al. | 2005 | Deferred shading tutorial |
US20180005432A1 (en) | 2018-01-04 | Shading Using Multiple Texture Maps |
CN107924581A (en) | 2018-04-17 | Method and apparatus for the image of real-time rendering minute surface |
JP4394122B2 (en) | 2010-01-06 | Method of real-time rendering performed by sampling reflection characteristics of object surface and method of converting texture size |
Mavridis et al. | 2011 | Global Illumination using Imperfect Volumes. |
Yuan et al. | 2018 | Tile pair-based adaptive multi-rate stereo shading |
CN117876564B (en) | 2024-09-17 | Image processing method and related equipment |
Gierlinger et al. | 2010 | Rendering techniques for mixed reality |
Di Koa et al. | 2018 | Interactive rendering of translucent materials under area lights using voxels and Poisson disk samples |
CN117671125A (en) | 2024-03-08 | Illumination rendering method, device, equipment and storage medium |
Gabr | 2023 | Scene relighting and editing for improved object insertion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
2008-12-08 | A201 | Request for examination | |
2008-12-08 | PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20081208 |
2008-12-08 | PA0201 | Request for examination | |
2009-12-16 | E902 | Notification of reason for refusal | |
2009-12-16 | PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20091216 Patent event code: PE09021S01D |
2010-03-25 | E701 | Decision to grant or registration of patent right | |
2010-03-25 | PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20100325 |
2010-03-29 | GRNT | Written decision to grant | |
2010-03-29 | PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20100329 Patent event code: PR07011E01D |
2010-03-29 | PR1002 | Payment of registration fee |
Payment date: 20100329 End annual number: 3 Start annual number: 1 |
2010-04-07 | PG1601 | Publication of registration | |
2013-03-25 | FPAY | Annual fee payment |
Payment date: 20130326 Year of fee payment: 4 |
2013-03-25 | PR1001 | Payment of annual fee |
Payment date: 20130326 Start annual number: 4 End annual number: 4 |
2014-03-25 | FPAY | Annual fee payment |
Payment date: 20140326 Year of fee payment: 5 |
2014-03-25 | PR1001 | Payment of annual fee |
Payment date: 20140326 Start annual number: 5 End annual number: 5 |
2015-03-30 | LAPS | Lapse due to unpaid annual fee | |
2015-03-30 | PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20160209 |