프로그래밍 공부
카테고리
작성일
2023. 10. 31. 16:08
작성자
WDmil
728x90

일반적으로 Point Light와 비슷하게 작동하나, 추가적으로 후레쉬의 특징인. 원뿔형 빛의 내부각도를 고려해서 계산해야한다.

 

위와같은 라이팅 각도가 있을때, 중앙과 외곽선의 각도를 측정해서 중앙부에서는 정방향의 빛이 적용되게 해놓은다음.

외곽부분의 각도에는 빛의 번짐을 적용하여. 빛의 감쇠를 제곱승으로 적용한다.

 

필요한 정보는 다음과 같다.

빛의 방향,

내부원뿔의 각도,

외부원뿔의 각도

 

위 수식을 사용해서.

내부의 각도에는 빛의 감쇠를 적용하지 않고. 외부각도에는 빛의 감쇠를 적용한다.

 

빛->Vertice 의 이동벡터를 계산한다음,

 

Normalize해준다.

 

SpotLight의 이동Vector를 계산한다.

(SpotLight의 법선Vector).Normalize();

이제. 그 Vector와 현재 SpotLight의 사잇각을 계산한뒤,

각도에 따라 cos값을 보정해주어 Color에 곱해주면된다.

 

 

 

728x90

'3D디자인 용어' 카테고리의 다른 글

DirectX Deferred Rendering( 디퍼드 렌더링 )  (0) 2023.11.01
DirectX Forward Rendering( 포워드 렌더링 )  (0) 2023.11.01
Directional Light(태양형 빛)  (0) 2023.10.31
PointLight(전구형 빛)  (0) 2023.10.31
퐁 셰이딩  (0) 2023.10.23