서적 정리/DirectX11을 이용한 3D 게임 프로그래밍 입문

59.람베르트의 코사인 법칙(Lambert's cosine law)

민돌이2 2022. 3. 2. 16:32

표면에 입사하는 빛이 수직에 가까울 수록 빛이 더 강하게 들어온다.

이로부터, 정점 법선과 빛 빅터(light vector) 사이의 각도에 기초해서 빛의 세기를 반환하는 함수를 구현할 수 있다. 정점 법선과 빛 벡터가 정확히 같은 방향일 때 최대값이어야 하며, 정점 법선과 빛 벡터의 각도가 커짐에 따라 점차 감소해야 한다. 또한 θ > 90°이면 빛이 표면의 뒤쪽을 비추는 것이므로 빛의 세기는 0이어야 한다. 람베르트이 코사인 법칙에서 이 함수를 유도할 수 있다.

위 공식에서 L은 빛의 벡터이고 n 정점 법선벡터이고, 둘 다 단위벡터이다. θ의 변화에 따라 빛의 세기가 0.0에서 1.0으로 변하는 그래프는 아래와 같다.

728x90