Physically Based Rendering
PBR 렌더링 기법 (Physically Based Rendering) 혹은 PBS 물리 기반 셰이딩 (Physically Based Shading)은 현실 세계의 물리적인 특성을 기반으로 3D 그래픽 모델을 렌더링 하는 기술입니다.
PB 렌더링 [Specular/Glossness]
3D 그래픽을 현실 세계와 유사하게 표현하기 위한 노력은 컴퓨터 그래픽 분야에서 계속해서 이루어져 왔습니다.
지금은 레거시 렌더링이라고 불리는 PB 렌더링 기법 (Photorealistic Rendering)은 [Specular/Glossness]를 사용해서 사실적인 이미지를 구현하려 하였고 PB 렌더링 기법을 사용 한 영화 토이 스토리가 처음 나왔을 때, 깜짝 놀랄만 했죠
그러나 Specular(광택)과 Glossiness(광택의 퍼짐 정도)로는 현실 세계의 물리적 특성을 완벽하게 반영하지 못합니다. 예를 들어 금속의 느낌을 정확하게 표현하려면 스펙큘러의 색상을 임의로 조절해야 하고 또한,
물체 주변에 반사된 빛이나 Rim Light와 같은 추가적인 효과를 더해주어야 현실적인 느낌을 전달할 수 있습니다.
그래픽 디자이너의 역량이 크게 작용했죠
3D 맥스의 레거시 재질 세부 옵션 중 Specular/Glossness
PBR 렌더링 [Metallic/Roughness]
그래서 조금 더 물리적인 특성에 적합한 [Metallic/Roughness] 수치를 사용하는 PBR 기법이 개발되었습니다.
PBR 렌더링은 현실적인 3D 그래픽을 상대적으로 쉽게 구현할 수 있어 현재는 업계 표준 기법으로 자리잡았습니다.
3D 그래픽 소프트웨어인 맥스(Max), 마야(Maya), 섭페(Substance Painter), 언리얼(Unreal Engine), 유니티(Unity) 등과 같은 대부분의 3D 프로그램에서 PBR 기반의 렌더링을 지원하고 있죠.
그래픽 디자이너에게 일관된 환경을 구현해 주는 장점
PBR 텍스처(Texture)
PBR Texture의 세가지 주요 속성인 Albedo, Metallic, Roughness 에 대해 알아보겠습니다.
- 알베도(Albedo) = Base Color : 알베도는 물체가 빛을 얼마나 흡수하고 반사하는지를 나타내는 값입니다. 물체의 기본 색상 또는 반사율을 의미합니다. 이 값은 주로 0과 1 사이의 범위로 표현되며, 0은 완전히 흑색을 나타내고 1은 완전히 흰색 또는 반사율이 높은 색상을 나타냅니다. 쉽게 Base Color : 색상으로 생각하면 되겠습니다.
- 금속성(Metallic) : 물체가 금속의 특성을 가지고 있는지 여부를 나타냅니다. 금속적인 특성 중 큰 두가지는
1 금속성이 커질 수록 스펙큘러의 컬러가 Base Color에 가까워진다.
2 에너지 보존 법칙에 따라 빛을 받지 않는 부분이 어두워 진다.
금속성은 주로 특정한 색상 정보보다는 흑백의 이진(Binary) 정보로 나타냅니다. 물체가 금속이면 1, 비금속이면 0에 가까운 값을 가집니다.
- 거칠기(Roughness) : 물체 표면의 매끄러움 정도를 나타냅니다. 거칠기가 낮을수록 표면은 매우 매끄러워 보이며, 높을수록 거친 표면을 나타냅니다. 일반적으로 0과 1 사이의 값을 가지며, 0은 완전히 매끄러운 표면을 의미하고, 1은 매우 거친 표면을 나타냅니다. 거칠기가 높을수록 빛이 여러 방향으로 산란되어 더 넓은 면적에 흩어지게 됩니다.
PBR은 물리학적 지식에 의거해서 기술된 부분이 많아 제대로 공부하려면 Fresnel, BRDF, 함수 등 이해하기 어려운 영역이기 때문에 최대한 그래픽 디자이너의 입장에서 정리해보았습니다.