본문으로 바로가기

 

#PBR 렌더 #물리 기반 렌더링 #3D 렌더링 #게임그래픽

 

 

 

 PBR (Physical Based Rendering) 이란

 

출처 :: Marmoset Toolbag

 

PBR (Physical Based Rendering), 물리 기반 렌더링이란 표면의 재질에 따른 빛의 반사가 물리적으로 어떻게 이루어지는지 시뮬레이션하여 그래픽을 표현하는 기법입니다. 빛의 물리적 현상을 기존 방식에 비해 조금 더 과학적인 관점으로 분석한 개념을 기반으로 한 텍스쳐와 셰이딩을 사용한다는 의미에서 PBR 이라는 명칭이 붙은 것입니다.

PBR 등장 이후 기존의 렌더 방식은 주로 레거시 렌더링(Legacy Rendering) 이라 구분하여 부릅니다. 물리 기반 렌더링 (PBR)은 레거시 렌더링과 비교해서 재질을 구현하는 개념이 달라진 것이고, 특별히 고난이도의 기술이나 새로운 엔진을 요하는 방식은 아닙니다.  다만 그래픽 리소스를 줄이면서도 레거시 렌더링보다 사실적인 구현이 가능하고, 최적화에도 더 용이하기 때문에 실사 기반 그래픽 작업을 하는 분들에게 PBR에 대한 공부는 필수적인 부분이 되었습니다.

 

 

 레거시 렌더링 vs PBR 

 

레거시 렌더링과 PBR을 간단하게 비교해 보면 다음과 같은데요, 렌더 결과물의 차이를 만드는 3가지 기본 재질에 대한 빛의 물리적 반사 현상의 시뮬레이션 방식 차이에 있습니다.


 

1. 난반사광 (Diffuse Lighting) :: 컬러를 만드는 반사

레거시 렌더링은 추상적인 관점으로 난반사광을 별도로 분리해서 구현하는 데 눈에 보이는 이미지를 그대로 텍스처로 사용하며, 이것을 난반사 (Diffuse) 텍스쳐 라고 부릅니다.

PBR에서는 재질이 반사하는 순수한 색(Color)의 파장만을 고려한 기본 색(Base Color) 텍스처를 제작해서 사용합니다.

 

(좌) : Legacy / (우) : PBR


 

2. 정반사광 (Specular Lighting) :: 표면의 각도에 따른 반사

레거시 렌더링에서는 회색조(Graysclae)의 환경 맵(Environment Map)을 이용하여 유사 정반사광을 구현하거나, 마스크맵(Mask Map)을 이용하여 정반사(Specular) 텍스처를 제작하고 픽셀 단위 라이팅을 적용해서 구현하는 방식이 있습니다. 또는 별도의 텍스처를 사용하지 않고 광원의 위치와 표면 각에 따라 광원이 반사되는 수치를 입력하는 방법으로 구현되기도 합니다.

PBR에서는 재질이 금속성(Metallic)을 가질수록 빛 자체를 더 많이 반사하게 된다는 현상에 입각하여, 재질의 금속성 값이 어느 정도인지 수치로 입력하는 방법을 사용합니다.

 

출처 : 3D Coat


 

2. 전반사광 (Total Reflection) :: 표면 거칠기에 따른 반사의 선명도

레거시 렌더링에서는 실제 표면의 거칠기와는 무관하게 작업자가 반사재질을 지니게 만들고 싶은 파트에 대해 해당 표면의 전반사 속성을 적용/비적용으로 구분합니다. 주변 환경을 맵으로 사용해서 마치 주변이 오브젝트에 반사되는 것처럼 눈속임을 하거나, 반사될 장면을 한번 더 렌더링 해서 실시간 반사를 구현하는 방법을 사용합니다.

PBR에서도 전반사의 구현방식은 동일하나, 표면의 거칠기 정도에 따라서 해당 표면의 전반사성이 반비례되는 값을 조절하는 방법을 사용합니다.

 

표면거칠기에 따른 전반사의 정도 차이

 

 

이상으로 상기의 3가지가 기본적인 재질에 대한 빛의 물리적 반사 현상을 시뮬레이션 하는 부분이 변경된 것으로서, 재질과 질감에 관련된 핵심 요소가 됩니다. 이 외에도 굴절(Refraction), 왜곡(Distortion), 프레넬(Fresnel)과 같은 옵션이 추가로 들어갈 수 있으나, 이는 레거시와 PBR 모두에서 적용 가능한 부분들입니다.

 


 

 정리하며

 

 

높은 퀄리티로 사실적인 컨텐츠를 생성하기 위한 렌더링의 중요성이 부각되며, 다양한 렌더링 기법에 대한 연구와 독립적인 렌더러의 개발이 진행되고 있습니다. 유저들이 사용하는 렌더러 기능에 의해 렌더링 품질이 좌우되다 보니, 기존의 레거시 렌더를 포함하여 최근의 엔진을 통한 렌더까지 다양한 실험과 시도가 이루어지고 있습니다.

어떤 렌더러가 좋은지, 어떤 렌더기법을 쓰는것이 맞는지에 대한 논쟁보다는 보다 적은 비용과 데이터로 작업자가 의도한 결과물을 최대한 구현할 수 있는 방식이 가장 적합한 렌더링일것입니다.

 

 

 


작성자 이온 (ion) @ ionn.tistory.com