본문 바로가기

개발/컴퓨터 그래픽스

컴퓨터 그래픽스 : PBR 이해를 위한 배경 지식(3) - Perfect Diffuse BRDF(반사율)

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

 

지난 편에서는 BRDF에 대해서 알아봤습니다. 이러한 BRDF의 개념을 통해 우리는 빛의 반사를 수학적으로 표현할 수 있게 되었습니다. 또한 Reflectance의 개념을 알아봤습니다.

 

만약 이전 글을 보지 않았으면, 이번 글을 이해하는게 어려울 수도 있습니다. 꼭 이전 글의 내용을 이해하신 후에 읽어주시길 바랍니다.

2020/09/13 - [개발/컴퓨터 그래픽스] - 컴퓨터 그래픽스 : PBR 이해를 위한 배경 지식(2) - BRDF

 

컴퓨터 그래픽스 : PBR 이해를 위한 배경 지식(2) - BRDF

이 글은 수학적으로 정확한 정의를 알려주기보다는, 직관적인 이해를 돕기 위해 작성한 글입니다. 그 점 양해부탁드립니다. 지난 편에서는 Radiometry(방사 분석)에 대해서 알아봤습니다. 이러한 Ra

honey-balm.tistory.com

이번 편에서는 지난 편에 배운 BRDF의 개념을 활용해 Perfect Diffuse BRDF(완전 난반사)에 대해서 알아보겠습니다.

 

우선 Diffuse Reflection(난반사 이하 Diffuse)에 대해서 알아보겠습니다. 지난 편에서 BRDF에 대해서 배우면서 우리는 한 점으로 들어오는 빛과 나가는 빛의 양을 수량화해서 수식으로 나타냈습닌다. 이러한 수식을 유도하기 위해서 사용했던 이미지는 아래와 같습니다. 

 

그림 1) BRDF

위 이미지에서는 빛은 한 방향에서 들어오고, 한 방향으로 나가는, 마치 빛이 거울의 표면에 부딪힐 때 빛이 반사되는 모양을 보여줍니다. 하지만 실제 빛은 위의 그림처럼 완벽하게 입사각과 반사각이 동일한 정반사만이 일어나지는 않습니다. 실제 지구 상에는 완벽하게 평평한 물체는 존재할 수 없기때문에 실제로는 정반사라는게 없다는 표현이 맞을 수도 있습니다. 하지만 컴퓨터 그래픽스에서는 표현의 단순함을 위해서 거울과 같은 물체는 정반사를 한다고 가정을 합니다. 그럼 정반사가 일어나지 않는다면 빛은 어떻게 반사가 될까요?

그림 2) 정반사와 난반사

그림 2를 보면 오른쪽 그림을 보면, 난반사를 보여주고 있습니다. 난반사는 표면이 완벽하게 평평하지 않고, 울퉁불퉁하기에 빛의 입사각과 반사각이 제각각인 반사를 보여줍니다. 그렇다면 Perfect Diffuse란 과연 무엇일까요? Perfect Diffuse는 그림 2의 난반사와 다르게 한 방향에서 들어오는 빛이 모든 방향을 향해 고르게 반사되는 반사 형태를 의미합니다. 물론 이러한 반사의 형태는 실제 지구상에 존재할 수는 없겠지만, 컴퓨터 그래픽스에서는 단순함을 위해서 이러한 모델을 사용하고 있습니다. 아래의 그림은 Perfect Diffuse의 예입니다.

그림 3) Perfect Diffuse By netkonnexion on Flickr

또한 이런 Perfect Diffuse Reflection을 다른 말로 Lambertian reflection이라고도 부릅니다. 그럼 이런 Perfect Diffuse의 BRDF와 Reflectance를 구해보도록 합시다. 우선 Perfect Diffuse에서는 반사되는 Radiance는 반사각 \(d\omega _{o}\)에 관계없이 일정하게 반사됩니다. 그렇기 때문에 아래와 같이 표현할 수 있습니다.

 

$$L_{o}(p, \omega _{o}) = L_{d}(p)$$

또한 BRDF 함수 \(f(p, \omega _{o}, \omega _{i})\)도 \(\omega _{i}, \omega _{o}\)에 독립적이기 때문에 아래와 같이 표현할 수 있습니다.

$$f(p, \omega _{i}, \omega _{o}) = f_{d}(p)$$

그렇다면 이전 편에서 정의한 한 점에서 방출되는 Radiance, \(L_{o}(p, \omega _{o})\)는 아래와 같습니다.

$$L_{o}(p,\omega _{o}) = \int f(p, w_{i}, w_{o})L_{i}(p, \omega _{i})\cos{\theta}_{i}d\omega _{i} $$

위 식에 아까 구한 식 \(L_{o}(p, \omega _{o}) = L_{d}(p)\),  \(f(p, \omega _{i}, \omega _{o}) = f_{d}(p)\)을 대입한다면 아래와 같습니다.

$$L_{d}(p) = \int f_{d}(p){L_{i}(p, \omega_{i})\cos{\theta _{i}d\omega _{i}}}$$

하지만 \(f_{d}(p)\)는 입사각 \(\omega _{i}\)에 독릭접이기 때문에 아래와 같이 표현할 수 있습니다.

$$L_{d}(p) = f_{d}(p)\int {L_{i}(p, \omega_{i})\cos{\theta _{i}d\omega _{i}}}$$

또한 우리는 이전 편에서 봤듯이 Irradiance, \( E = \int{L\cos{\theta}d\omega}\) 라는 사실을 알고 있습니다. 이를 위 식에 대입하면 그 결과는 아래와 같습니다.

$$L_{d}(p)=f_{d}(p)E_{i}(p)$$

위 식을 Perfect Diffuse에 대해서 정리를 하면 아래와 같습니다.

$$f_{d}(p) = \frac{L_{d}(p)}{E_{i}(p)}$$

이번에는 위 식을 Reflectance에 대해서 표현해 보겠습니다. 이전 편에서 다루었듯이 Reflectance의 식은 아래와 같습니다.

$$\rho = \frac{d\Phi _{o}}{d\Phi _{i}}$$

또한 이전편에서 확인했던 \(d\Phi _{o}, d\Phi _{i}\)의 식은 아래와 같습니다.

$$\frac{d\Phi_{o}}{d\Phi_{i}} = \frac{dA\int{L_{o}(p, \omega _{o})\cos{\theta} _{o}d\omega _{o}}}{dA\int{L_{i}(p, \omega _{i})\cos{\theta} _{i}d\omega _{i}}}$$

위 식에 \(L _{o}(p, \omega _{o}) = L_{d}(p)\), \(E_{i}(p) = \int{L _{i}(p, \omega _{i})\cos{\theta _{i}}d\omega _{i}}\)를 대입하면 아래와 같은 식이 나옵니다. (\(\therefore \int{\cos{\theta}d\omega}=\pi
\))

$$\frac{d\Phi _{o}}{d\Phi _{i}} = \frac{dAL_{d}(p)\int{\cos{\theta _{o}}d\omega _{o}}}{dA\int{L_{i}(p, \omega _{i})\cos{\theta _{i}}d\omega _{i}}}=\frac{dAL_{d}(p)\pi}{dAE_{i}(p)}=\frac{L_{d}(p)\pi}{E_{i}(p)}$$

위 식에 \(f_{d}=\frac{L_{d}(p)}{E_{i}(p)}\)를 대입하면 아래와 같습니다.

$$\rho _{d}(p)=\frac{d\Phi _{o}}{d\Phi _{i}}=\frac{L_{d}(p)\pi}{E_{i}(p)}=f_{d}(p)\pi$$

위 식을 BRDF에 대해서 정리한다면 아래와 같습니다.

$$f_{d}(p) = \frac{\rho_{d}(p)}{\pi}$$

 

이번 편에서 본 Perfect Diffuse는 한 방향에서 들어온 빛이 모든 방향으로 동일하게 반사하는 경우를 보여줍니다. 하지만 이런 Perfect Diffuse 외에도 여러 경우가 존재하는데, 그런 경우들은 아래와 같습니다.

 

그림 4) 다양한 반사 모델

우리가 본 Perfect Diffuse는 위 그림에서는 Directional-hemispherical(Case 3)의 경우입니다. 그렇다면 들어오는 빛도 반구의 형태이고 나가는 빛도 반구의 형태인 Bihemispherical(Case 9)의 경우의 Reflectance와 BRDF는 어떻게 될까요?

 

Bihemispherical의 경우에는 입사광도 반구 영역 전체에서 들어오게 됩니다. 즉 아래와 같이 표현할 수 있습니다.

$$L_{i}(p, \omega _{i})=L_{i}(p)$$

위 식을 Reflectance를 구하는 식에 대입을 한다면 아래와 같습니다.

$$\rho_{hh} = \frac{d\Phi_{o}}{d\Phi_{i}}=\frac{dAL_{d}(p)\int{\cos\theta _{o}d\omega _{o}}}{dAL_{i}(p)\int{\cos\theta _{i}}d\omega _{i}}$$

위 식을 정리한다면 아래와 같을 것입니다. 

$$\rho_{hh} = \frac{d\Phi_{o}}{d\Phi_{i}}=\frac{L_{d}}{L_{i}(p)}$$

위 식에다 아까 구한 \(L_{d}(p) = f_{d}(p)E_{i}(p)\)를 대입한다면 아래와 같습니다.

$$\rho_{hh} =\frac{L_{d}}{L_{i}(p)} = \frac{f_{d}(p)E_{i}(p)}{L_{i}(p)}$$

또한 위 식에다가 다시 \(E_{i}(p)=\int{L_{i}(p)\cos{\theta _{i}}d\omega _{i}}\)를 대입한다면, 결과는 아래와 같습니다.

\rho_{hh} = \frac{f_{d}(p)E_{i}(p)}{L_{i}(p)}=\frac{f_{d}(p)L_{i}(p)\int{\cos{\theta _{i}}d\omega _{i}}}{L_{i}(p)}=f_{d}\pi=\rho_{d}

즉 Bihemispherical의 반사율은 Directional-hemispherical의 반사율과 동일합니다.