점적광의 대표적인 예는 손전등이다. 점적광은 광원 Q에서 d 방향으로 뻗어 나가는 원뿔 형태의 빛이다.
다른 빛들과 마찬가지로 점적광의 빛 벡터는 빛이 나아가는 방향의 반대이다
P는 빛을 받는 점이고 Q는 점적광원의 위치이다.
위 그림을 보면 P는 오직 -L과 d 사이의 각도 Φ가 원뿔 각도 Φmax보다 작을 때에만 원뿔 안에 있다. 또한 Φ가 증가함에 따라 빛의 세기가 감소한다(62장 참고). 빛의 감쇠를 의 함수로서 제어하려면 아래와 같은 함수를 사용하면 된다.
cos는 벡터 -L과 d는 단위 벡터일 때 내적으로서 변환이 가능하다는 점을 잊지 말자. 위 공식을 보면 Phi가 증가함에 따라 빛의 세기가 감소하고, 지수 s를 조정함으로써 Φmax를 간접적으로 제어할 수 있다. 지수 s가 클수록 Φmax가 증가한다.
점적광 방정식은 점광 방정식에 점적광 원뿔을 기준으로 한 점의 위치에 따른 빛의 감쇠를 표현하는 점적광 계수를 곱한 것이다. 다음은 점적광 항을 도입한 새로운 조명 방정식이다.
위 식을 보면 점적광 계산은 Kspot 계수를 구해서 곱해야 하기 때문에 점광 계산보다 비싸다. 마찬가지로 점광 계산은 거리 d를 구해야 하고 감쇠 공식으로 나눠야 하므로 지향광 계산보다 비싸다. 정리하자면, 계산 비용은 지향광원 < 점광 < 점적광 이다.
728x90
'서적 정리 > DirectX11을 이용한 3D 게임 프로그래밍 입문' 카테고리의 다른 글
71.조명 요약 (0) | 2022.03.16 |
---|---|
70.조명된 두개골 예제 (0) | 2022.03.16 |
69.조명 예제 (0) | 2022.03.07 |
68.조명 구현 (0) | 2022.03.05 |
66.점광(Point Light) (0) | 2022.03.03 |
65.평행광(Parallel Light) (0) | 2022.03.03 |
64.재질의 설정 (0) | 2022.03.03 |
63.조명 중간 정리 (0) | 2022.03.03 |
댓글