WinCNT

PBR(Physically Based Rendering) - Regacy Model 복습 본문

게임 프로그래밍(학습 내용 정리)/3D Graphic Engine

PBR(Physically Based Rendering) - Regacy Model 복습

WinCNT_SSS 2022. 7. 13. 10:44

Per Vertex Lighting

버텍스 기준으로 빛을 계산

 

Per Pixel Lighting

픽셀 기준으로 빛을 계산

 

Ambient Light

레거시 모델에서는 계산이 불가능한 빛 연산

보통 가장 어두운 부분이며 레거시 모델에서는 단색을 더하는 처리를 한다

 

광원의 종류

Directional Light

Point Light

Spot Light

 

조명 처리

Diffuse(확산광)과 램버트의 코사인 법칙

광원의 입사 벡터(의 역방향)버텍스(혹은 픽셀)의 노멀 벡터와의 각도로

확산광의 조명을 연산하는 처리

 

램버트의 코사인 법칙에 의한 조명 연산은 경험적 모델

빛이 들어오는 각도에 따라 빛의 세기가 달라진다는 점에 착안했다

 

예를 들어 빛의 각도가 0도이면 빛은 안 들어올테고

빛의 각도가 90도에 가까워질수록 빛이 점점 많이 들어올 것이다

 

이는 다시 말하면 각도(0도~90도)에 따라 값이 0~1이 되는 함수라는 뜻이기도 하다

놀랍게도 이는 코사인 함수(!)와 동일하다

 

반사광

반사 벡터로 반사광을 연산하는 방법

 

짐브린 하프 앵글 벡터로 반사광을 연산하는 방법

Light Vector와 View Vector의 하프 앵글 벡터가

물체의 Normal Vector와 일치할수록 빛의 정반사와 가까워진다

 

즉 노멀 벡터와 하프 앵글 벡터으로 반사광을 계산하는 방법이다

 

SSS