내가 생각하는 조명벡터의 방향
빛의 벡터를 그리는 방법에는 사실 두 가지가 있다.
- 정점을 밑둥으로 하여 빛의 위치를 가리키는 벡터
- 빛의 위치를 밑둥으로 하여 정점을 가리키는 벡터
개인적으로는 빛의 위치를 밑둥으로 두는 방식을 선호한다. 그냥 더 상식적으로 맞아 보여서지, 특별한 이유가 있는 건 아니다.
정점을 밑둥으로 하면 난반사광(diffuse lighting) 계산 시 부호를 뒤집지 않아도 되기 때문에 속도가 조금 빨라질 수 있다는 주장도 있다.
하지만 셰이더에서는 거의 차이가 없고, CPU에서라 해도 미미한 수준일 것이다.
이런 사소한 최적화 때문에 상식적인 구조를 포기하는 걸 별로 좋아하지 않기에
나는 앞으로도 계속 빛을 기준점으로 하는 방식을 사용할 예정이다.
그림으로 표현하면?
(아래 그림은 벡터 반사 예시지만 개념적으로 비슷하다 — 출처: 위키피디아)

제대로 대우받는 개발자 | 부족한 컴공지식 배우기 | MIT급 컴공인강
최저임금으로 고통받는 일회성 프로그래머는 그만! POCU 아카데미가 올해 연봉협상을 책임지겠습니다!