본문 바로가기

개발/컴퓨터 그래픽스

컴퓨터 그래픽스 : PBR 이해를 위한 배경 지식(1) - Radiometry(방사 분석)

이 글은 수학적으로 정확한 정의를 알려주기보다는, 직관적인 이해를 돕기 위해 작성한 글입니다. 그 점 양해부탁드립니다.

 

PBR(Physically Based Rendering)에 대해 공부를 하기 위해 책을 본다면, 일반적인 컴퓨터 공학을 공부한 학생들에게는 방사 조도, 복사 휘도 등의 생소한 개념과 단어들을 많이 접하게 될 것입니다. 또한 이러한 개념과 단어에 대한 정확한 이해를 하지 않고 넘어가게 된다면 PBR을 공부하면서 많은 어려움을 겪게 될 것입니다. 이 글에서는 이런 개념들에 대한 간단한 설명을 담고 있으며, 수학적으로는 정확하지는 않더라도 많은 분들이 쉽게 이해할 수 있도록 최대한 풀어쓰도록 하겠습니다.

 

또한 영어의 개념들이 한국어로 번역되는 과정에서 책마다 다르게 번역되는 경우가 있기에, 가장 대표적으로 사용되는 단어를 한국어로 소개한 후 그 이후에는 영어 단어 그대로 사용하겠습니다.

 

PBR에서 사용되는 개념 중 하나는 Radiometry(방사 분석)입니다. 이 Radiometry를 사용하는 이유는 PBR은 좀 더 현실적인 그래픽을 제공하기 위해서 빛의 전파와 반사를 묘사하기 때문입니다. 이런 빛의 전파와 반사를 묘사하는 과정에서 Radiometry는 수학적인 개념을 제공해줍니다. 

 

Radiant Energy(복사 에너지)

Radiant Energy(이하 Energy)는 전자기파 에너지의 기본 단위입니다. 이 단위는 J(줄)로 표현되며, 각각의 광자(Photon)가 특정량의 에너지를 지니고 있는 것을 표현합니다. 

 

$$Q = hc/λ[J]Q = \frac{ hc }{ \lambda }$$
$$h = 6.62620 \times 10^{34}[J\bullet s](플랑크 상수), c = 2.998 \times 10^{8}[m/s](광속)$$

 

조금 쉽게 풀어서 표현을 한다면, 아래와 같이 표현을 할 수 있습니다.

 

$$광자는 파장 λ에서 에너지를 Q = hc/λ[J]만큼 운반합니다$$

 

Radiant Flux(방사속)

Radiant Flux(이하 Flux)는 Energy에 시간의 단위를 도입한 개념입니다. 즉, Energy가 한 Photon이 운반하는 Energy의 양을 표현을 했다면, Flux는 어떤 공간의 영역을 지나는 전체 Energy의 단위 시간당 Energy의 양입니다. 

그림 1) 특정 공간의 영역을 지나는 Energy

그림 1을 보면 특정 공간의 영역을 지나는 Energy를 볼 수 있습니다. 이 특정 공간의 영역을 단위 시간당 Energy의 양이 바로 Flux입니다. 단위는 W(와트)로 표현되며, 식은 아래와 같습니다. 

 

$$\Phi = \frac{Q}{t}[J/s][W]$$
$$Q = Energy, t = 단위 시간$$

 

예를 들어 어떠한 빛이 한 시간 동안 200,000J의 Energy를 방출하고, 한 시간동안 Energy가 변하지 않은 채 동일하게 방출했다면, 이 빛의 Flux는 아래와 같습니다.

 

$$\Phi = 200,000J / 3,600J \approx 55.6W$$

 

또한 이 식을 좀 더 일반적으로 표현하게 되면 아래 식과 같습니다.

 

$$\Phi = \frac{dQ}{dt}$$

Radiant Flux Density(방사속 밀도)

위에서 정의한 Flux는 특정 공간의 영역을 지나는 단위 시간당 Energy의 값입니다. 하지만 위 정의에는 특정 공간의 영역이 얼마의 넓이를 가지는지를 알 수 없습니다. 그래서 위 Flux에 넓이의 개념을 추가한 것이 Radiant Flux Density(이하 Flux Density)입니다.

 

그림 2) 방사속 밀도

 

Flux Density는 넓이 A를 지나는 단위 시간당 Energy의 값입니다. 즉, 넓이 A에 도달하는 Flux의 양을 표현하는 값입니다. 식으로 표현하면 아래와 같습니다. 

 

$$Flux\space Density = \frac{\Phi}{A}[W/m^{2}]$$

 

또한 이 식을 좀 더 일반적으로 표현하게 되면 아래 식과 같습니다.

 

$$\frac{d\Phi}{dA}[W/m^{2}]$$

Irradiance(방사 조도)

Irradiance는 Flux Density와 같은 개념을 공유하고 있습니다. 하지만 다른 점은 Irradiance는 특정 표면에 도달하는 Flux Density를 특별하게 부르는 단어입니다. 이렇게 따로 구별하는 이유는 알아보지는 않았지만, 나중에 나오는 개념과 혼동되지 않게 하기 위해서 특별한 단어를 만든 것 같습니다. Irradiance는 E로 표현하며, 식은 아래와 같습니다.

 

$$E = \frac{d\Phi}{dA}[W/m^{2}]$$

 

Radiant Exitance(방사 발산도)

Radiant Exitance(이하 Exitance)는 위에서 설명한 Irradiance와 반대되는 개념입니다. Irradiance가 특정 표면에 도달하는 Flux Density를 지칭하는 단어였다면, Exitance는 특정 표면에서 나오는 Flux Density를 특별하게 부르는 단어입니다. Exitance는 M으로 표현하며, 식은 아래와 같습니다.

 

$$M = \frac{d\Phi}{dA}[W/m^{2}]$$

 

Radiant Intensity(복사 강도)

Radiant Intensity(이하 Intensity)는 Flux에 입체각을 도입한 개념입니다. 여기서 주의해야할 점은 Flux Density가 아닌 Flux에 입체각을 도입했다는 점입니다. 

 

Flux는 특정 공간의 영역을 지나는 단위 시간당 Energy의 양이라고 말했습니다. 그렇다면 Flux에 입체각을 도입하게 된다면 어떻게 될까요?

 

그림 3) 복사 강도

위의 그림 3에서는, Flux \(\Phi\)입체각 ω로 정의된 공간의 영역을 지나고 있습니다. 즉 Intensity는 전체 Flux입체각 ω로 정의된 공간을 지나는 Flux를 나타냅니다. Intensity는 I로 표현하며, 이를 식으로 표현을 한다면 아래와 같습니다. 

 

$$I = \frac{\Phi}{\omega}[W/sr]$$

 

또한 이 식을 좀 더 일반적으로 표현하게 된다면 아래와 같습니다.

 

$$I = \frac{d\Phi}{d\omega}[W/sr]$$

 

Radiance(복사 휘도)

Radiance는 이후 PBR을 공부하면서, 가장 많이 보게 되는 Radiometry 개념 중 하나일 것입니다. Radiance는 Irradiance에 입체각을 도입한 개념입니다. 위에서 알아본 Irradiance는 표면에 도달하는 Flux Density를 나타내는 단어였습니다. 그렇다면 이 개념에 입체각을 도입하면 어떻게 될까요?

 

그림 4) 복사 휘도

Irradiance는,  \(E = \frac{\Phi}{A} \) 이었습니다. 즉 면적 A에 들어오는 Flux의 양이었습니다. 하지만 그림 2를 보면, 이는 수직에서 면적 A에 사영되어서, 모든 Flux가 면적 A를 통과했습니다. 

 

하지만 Radiance에서는 그림 4처럼 Flux \(\Phi\)면적 dAdω의 입체각을 이루고 있습니다. 그렇다면 입체각 dω로 정의된 공간을 지나는 Flux Density는 \(\frac{d\Phi}{dA}\)가 아닌 \(\frac{d\Phi}{dA_{\perp}}\)가 됩니다.

 

왜냐하면 더 이상 Flux \(\Phi\)dA를 통과하는 것이 아닌, dA Flux \(\Phi\)가 이루는 입체각 dω와 수직인 \(dA_{\perp}\)를 통과하기 때문입니다.

그렇다면 Radiance, L을 식으로 표현해봅시다. 우선 Radiance는 Irradiance에 입체각을 도입한 개념이라고 했습니다. 즉 특정 입체각으로 정의된 공간을 지나는 Irradiance를 나타냅니다. 이는 아래 식과 같습니다.

 

$$L = \frac{E}{w}$$

 

위의 식을 일반화 한다면, 아래와 같습니다.

 

$$L = \frac{dE}{dw}$$

 

또한 우리는 Irradiance는 결국 Flux Density의 특별한 경우라는 것을 위에서 Irradiance를 설명할 때 보았습니다. 그렇다면 dE는 \(\frac{d^{2}\Phi}{dA}\)(\(d^{2}\Phi\)인 이유는 dE는 입체각의 개념을 도입했기 때문에, \(E  = \frac{d\Phi}{dA}\)에서 dω에 대해서 미분)인 것을 알 수 있습니다.

 

$$L = \frac{d^{2}\Phi}{dAdw}$$

 

또한 그림 4를 설명하면서 Radiance에는 입체각에 개념이 도입되면서, 더 이상 Flux가 dA를 직접 통과하는 것이 아닌 \(dA_{\perp}\)를 직접 통과한다는 것을 알았습니다. 이 점을 고려한다면 위 식은 아래와 같이 바뀔 것입니다.

 

$$L = \frac{d^{2}\Phi}{dA_{\perp}dw}$$

 

그림 4를 보면 dω와 표면의 법선 N은 각도 θ를 이루고 있는 것을 알 수 있습니다. 그렇다면 우리는 이를 통해서 아래와 같은 식을 얻을 수 있습니다.

 

$$dA_{\perp}=dA\cos{\theta}$$

 

그렇다면 최종적인 Radiance, L은 아래와 같습니다.

 

$$L = \frac{d^{2}\Phi}{dA\cos{\theta}dw}[W/m^{2}\bullet sr]$$