[DX11 입문 제7장] 조명은 왜 뷰스페이스 공간에서 처리하나요?

GPG 시리즈 관련 질답, 논의 공간.

Moderator: 류광

karrian
Posts: 2
Joined: 2014-07-24 13:48

조명은 왜 뷰스페이스 공간에서 처리하나요?

Post by karrian »

쉐이더 사용시 조명은 노말벡터와 라이트벡터의 내적으로 명암을 표현하는걸로 알고있는데요

노멀벡터와 라이트벡터를 뷰 공간으로 옮기기 위해 뷰행렬을 곱해준 후 명암 값을 계산하면

클라이언트에 뿌려지는 최종컬러를 봤을 시, 카메라의 시점이 변할때마다 뷰행렬이 곱해지는 노멀이나 라이트벡터 또한 시시각각 바껴버려서

색이 변질되버립니다.


그래서 저는 그냥 노멀과 라이트를 월드상에서 계산을 해버리는데요

어디까지나 임시방편일 뿐인것 같아 질문올려봅니다




어째서 뷰공간에서, 바꿔말하자면 조명처리는 어째서 뷰 스페이스 변환이 끝난후 하는건지 궁금합니다.
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

제7장 예제에서 법선과 빛 벡터를 시야 공간으로 변환하는 부분은 없는 것 같은데요... 어쨌든 어떤 공간을 사용하는지는 그냥 광원, 재질, 원하는 효과에 따라 적합한 것을 선택하면 되는 문제일 뿐으로 알고 있습니다. (예를 들어 범프 매핑은 흔히 접선 공간을 사용합니다.)
Post Reply