물리기반 렌더링은 최근 실시간 렌더링에서 매우 흥미롭지만, 다소 모호하기도 합니다. PBR이라는 단어는 자주 사용되기도 하지만 떄로는 여러 의미적 혼란을 주기도 합니다. 짧게 표현하자면: 많은 것들을 내포하고 있고, 상황에 따라 다르게 표현 될 수 있습니다. 이 글은 PBR이 무엇을 표현하는지 그리고 이전 렌더링 방식과 어떻게 다른지 충분히 설명하고자 합니다. 이 문서의 앞부분은 PBR을 처음 접하는 사람들을 위한 문서이며, 수학공식, 코드는 다루지 않을 예정입니다. 그리고 뒷 부분에서는 실제 논문을 같이 분석하면서 읽어볼 예정입니다.

물리 기반 셰이딩 시스템을 이전과 다르게 만드는 핵심은 빛과 표면의 거동에 대해 더 구체적으로 사고한다는 점입니다. 셰이딩 기술이 충분히 발전하면서, 과거의 단순화된 근사치들은 이제 버릴 수 있게 되었고, 그것과 함께 예전의 아트 제작 방식도 바뀌고 있습니다. 따라서 엔지니어와 아티스트 모두 이러한 변화의 이유를 알 필요가 있습니다.

우리는 먼저 기초적인 부분부터 정의를 내려야 새로 운 점을 강조 할 수 있습니다. 이미 알고 있는 내용 일 수도 있지만, 조금만 참고 읽어 내려가면 충분히 가치 있는 시간이 될것입니다. 그리고 마지막으로 대부분의 Computer Science 분야에서 용어를 번역하다 보면 오히려 이해를 방해하는 경우가 생깁니다. 특정 기술적 용어 같은 경우 해당 용어를 설명하는 그림을 보여주고 원어 그대로 표현하도록 하겠습니다.

Diffusion & Reflection

image.png

Diffusion(확산), Reflection(반사)는 각각 diffuse, specular 라고도 불립니다. 표면과 빛의 상호작용을 가장 기본적으로 표현 하는 2가지 개념입니다. 대부분의 사람들은 이 개념둘을 일상생활에서 직관적으로 알고 있습니다. 하지만 물리적으로는 어떻게 동작하는지 잘 모르는 경우가 많습니다.

빛이 어떤 표면 경계에 닿으면, 일부는 Refelction되어 표면에서 튕겨 나가게 됩니다. 이는 공을 땅이나 바닥에 힘껏 던지면 튕겨져 나가는 것과 매우 유사합니다. 물체의표면이 매끄러울수록 반사된 물체를 선명하게 보여줍니다. 거울 처럼요. 흔히 사용 되는 용어인 specular는 라틴어에서 거울을 뜻하는 단어입니다. 그래서 영어에서는 Mirrorness 보다는 Specularity이라는 표현이 덜 어색하게 느껴지기도 합니다.

그러나 모든 빛이 포면에서 반사 되는 것은 아닙니다. 보통 일부는 표면 안쪽으로 들어가며, 그 안에서 재질에 의해 흡수되거나(대개 열로 반환됨), 내부에서 Scattered(산란)됩니다. 아래 그림이 대표적인 scttered 의 예시입니다. 컵안의 물을 지난 빛이 퍼져서 종이에 빚혀지고 있습니다.

maxresdefault (1).jpg

이렇게 내부에서 산란된 빛 일부가 다시 표면 밖으로 나와 눈이나 카메라에 잡히는 것을 Diffuse Light, Diffusion, Subsurface Scattering 이라고 표현 합니다.

Absoption(흡수)와 Scattering(산란)은 매우 복잡합니다. 빛의 파장에 따라서 달라집니다. 파장은 파동이 한번 진동하여 원래의 위상으로 돌아올 때까지의 거리를 의미합니다. 이 때문에 색을 띠게 되는 것이죠. 예를 들어 어떤 물체가 대부분의 빛을 흡수하고 파란색만 Scttering 시킨다면, 그 물체는 파랑색으로 보입니다.

Scattered 는 대체로 무작위적으로 퍼지지만 동시에 전 방향에 고르게 퍼집니다. 어느 방향에서 보더라도 거의 동일하게 보입니다. 이는 거울과는 완전 다른 특징입니다.

이러한 근사치를 사용하는 셰이더는 사실 입력값 하나만 있으면 충분합니다. 그것이 바로 Albedo입니다. Albedo는 표면에서 다시 산란되어 나오는 빛의 색상 비율을 나타내는 색(Color)입니다. 즉 물체가 반사하는 색의 비율을 정의하는 값이라고 할 수 있죠.

Translucency(반투명) & Transparency(투명)

image.png

어떤 경우에는 diffusion이 더 복잡해지기도 합니다. 예를 들어, 피부왁스처럼 빛이 더 깊은 거리까지 산란하는 재질이 있습니다. 이런 경우 단순히 색상만으로는 표현하기 어렵고, 조명받는 물체의 형태와 두께까지 고려해야 합니다.

만약 물체가 충분히 얇다면, 빛이 뒷면까지 산란되어 빠져나가는 것을 볼 수 있고, 이를 **반투명(Translucent)**이라고 부릅니다.