WinCNT

PBR - 2회차 본문

게임 프로그래밍(학습 내용 정리)/게임 수학

PBR - 2회차

WinCNT_SSS 2022. 6. 7. 15:09

PBR은 특히 Specular를 위한 것이다

(대부분의 엔진에서 Diffuse는 그냥 N dot L함)

 

물체 겉면의 거친 정도에 따라 빛이 난반사되는 정도가 바뀐다

그 이유는 겉면이 거칠수록 미세면이 늘어나므로 그에 따라 빛도 난반사하게 되는 것이다

 

다시 말해 그러한 미세면을 전부 모델링할 수 있다면
복잡한 수식 없이도 사실적인 조명 연산이 가능할 것이다

하지만 이는 현실적으로 불가능하다

 

따라서 실제로는 거친 정도에 따라 미세면에 의한 난반사를
통계적으로 분석(근사)한 수식을 통해서 물리 기반 렌더링을 한다

매끈한 면과 거친 면의 반사 차이

왜 거친 면은 빛이 난반사 되는가

PBR 수식

F는 프레넬

https://gamedevforever.com/35

 

Fresnel Effect에 대하여.

안녕하세요 흑룡해를 맞아 삼가 인사올립니다. T모사의 뭐든 궁금해 하는 배경아티스트/TA Silverchime 입니다. 오늘은 프레넬 효과Fresnel Effect에 관해 이야기해보려 합니다. 누구나 한번쯤 들어 보

gamedevforever.com

프레넬 항의 원본식

F 프레넬 항을 간략화한 버전

G는 기하감쇠율(Geometric Attenuation Factor)

기하감쇠율은 반사광 차폐(Masking)과 입사광의 차폐(Shadowing)에 의한 빛의 감쇄율을 반영한 것이다

 

v는 view 벡터, h는 반각 벡터. 왼쪽이 Masking에 대한 식이고 오른쪽이 Shadowing에 대한 식이다

D는 미세면 분포함수

미세면 분포함수는 엄청나게 많지만 주로 사용되는 함수로는 3가지가 있다

(유니티 등에서 사용되는 건 GGX)

 

다만 여기에는 Metalic이 빠져있다

메탈릭은 주변(정확히는 Sky의 텍스처)을 얼마나 반사할지를 결정한다

 

연산이 복잡한 대신 좀 더 리얼한 조명 연산을 보장한다

NPR인 경우는 PBR이 완전 필요 없을 수도 있다

(길티기어의 렌더링 기법 보는 게 더 나을 수 있음)

 

SSS

'게임 프로그래밍(학습 내용 정리) > 게임 수학' 카테고리의 다른 글

Blur  (0) 2022.06.14
NPR(None Photo Realistic) - Cartoon  (0) 2022.06.07
VRAM과 PCI express  (0) 2022.06.07
Tonemaping  (0) 2022.05.10
Gamma Correction  (0) 2022.05.10