PBR용으로 만든 텍스쳐 여러장을 모든 프리미티브마다 한번씩 샘플해서 그걸로 빛이랑 색 계산하는거 같더만
예를 들면 알베도 - 디퓨즈 - 반사도 - 노말맵 텍스쳐 이런식으로 모델 하나마다 세개 혹은 그 이상씩 올려서 쓰는거잖아
계산식은 블린퐁같은거랑 별로 다른게 없나? 용책에도 안나와있고 영어자료들은 죄다 너무 어렵게 설명되어있더라...
PBR 자체가 퐁마냥 빛을 계산하는 방식인지, 아니면 여러 기법들을 조합해놓은건지도 잘 모르겠음
예를 들면 뭐 프레넬 반사도 이런거는 블린 퐁에도 적용하는거같던데 이건 PBR이랑 따로 되어있는 기법인건가?
정확히 상용 게임들에서 적용하는 PBR 모델이라는게 어떤건지 명확하게 설명되어있는 문서가 없네
일단 블린-퐁 재질, 물리기반 재질은 둘다 개념 자체는 굉장히 오래전에 나왔는데 특히 영화 산업쪽(디즈니)에서 물리 기반 재질을 활용하기 시작하면서 점점 활용 하는 곳들이 많아지기 시작했어. 블린-퐁이랑 물리기반 쉐이딩 기법의 가장 큰 차이는 재질을 만들때 필요한 파라미터에서 나는데. 블린-퐁의 경우엔 Diffuse(또는 Albedo), Reflectivity(Specularity), 물리기반 쉐이딩에서는 Albedo, Roughness, Metallic, 그럼 이름만 다른거 아니냐? 라고 할 수 있는데, 블린-퐁의 파라미터들은 일단 직관적이지가 않아 Albedo 그렇다 쳐도, Specularity란 파라미터는 크기가 커지면 표면에서 반사되는 specular highlight가 커진다만 있지,
딱히 단위도 존재하지않는 그냥 스칼라 값으로 표현되. 그리고 결국 Blinn-Phong 또한 evaluation이 간결하기 때문에 표현할 수 있는 재질의 종류에도 한계가 있어. (위에서 못적었는데 블린-퐁에서 Ambient Color, Diffuse Color, Specular Color, Specularity = Shiness) 그래서 이 파라미터들을 좀 더 직관적으로 만들고 더 정확한 라이팅 효과를 만들어내기 위해서 좀 더 복잡하면서도 물리에 기반한(중요한건 물리적으로 동일한, 완벽한이 아닌 기반함 이라는 것) 모델을 만들게 되는데 그게 바로 게임 업계든 어디에서든 입이 닳도록 말하고 있는 PBR 모델이야. 이 PBR모델의 경우에는 파라미터가 Albedo, Metallic, Roughness
3가지가 있는데 Albedo는 물체가(또는 재질) 빛을 얼마나 흡수하느냐 Metallic은 물체가 얼마나 금속에 가까운가 (절연체와 금속 사이에) Roughness는 물체의 표면이 얼마나 거친가 (매끄러움과 거침 사이에) 를 표현하게되. 여기서 가장 중요한 파라미터 2개가 Metallic이랑 Roughness인데 재미있는게 이 두 파라미터는 0~1 사이의 값으로 맵핑되있다는 거야. 즉 Blinn-Phong 반사 모델보다 더 직관적으로 물체의 표면 재질들을 만들어낼 수 있게 되었다는 거지.(그리고 더 정확한)
오 엄청 자세하게 답변해줬네 땡큐 ㅋㅋ
그리고 또 Blinn-Phong은 단순히 평평하고 매끈한 표면(optical flat) dot production으로 라이팅을 평가하던 것과는 다르게 사용되고 있는 물리기반 반사 모델들은 Microsurface 라는 친구를 도입하게 되는데. 예를 들어, 그냥 우리 눈으로 봤을때는 평평해 보였지만, 현미경으로 확대해서 보면 울퉁불퉁한 경우가 있잖아? 그 울퉁불퉁함을 여러개의 작은 optical flat한 표면들이 여러 방향으로 돌아가있는걸로 표현할 수 있는데, 이 표면을 Microsurface 라고해. PBR에서는 이 친구들이 얼마나 불규칙적(여러 방향으로 많이)으로 돌아가있느냐를 표현하는게 즉 roughness 값이고.
뭐 아무튼 내가 설명하면서 검증하면서 적은건 아니라 조금 다른부분도 있을 수 있으니까.. 좀 더 제대로된 설명은
https://youtu.be/j-A0mwsJRmk
이런
쪽으로 보면 더 정확한 정보 얻을 수 있을듯