정보문화사의 DX9를 이용한 3d게임 프로그래밍 입문을 보고 공부중임니다.
SetRenderState의 D3DRS_NORMALIZENORMALS 옵션에 대해서
변환 단계에서 버텍스 법선이 왜곡되는 현상이 발생할 수 있으므로 변환 단계이후에 d3d가
모든 법선을 다시 정리하도록 한다고 하는데(도움말에는 카메라 공간에서 정점이 변환된 후
정점 법선이 정규화 된다고 써있군요)
예제 프로그램을 이리돌리고 저리돌려도 왜곡되지 않던데...
정확히 어떤때 왜곡이 발생하는지 알고싶어서 질문 올림니다.
소스.
http://blogfile.paran.com/BLOG_309183/200601/1137396144_3s%20test.rar
법선의 경우 크기가 1이어야 하는데 이러한 오차 때문에 1이 아니게 되는거죠.
때문에 이를 사용하기 전에 정규화하는 옵션을 제공하는 겁니다.
하지만 파이프라인에서의 변환은 행렬곱이 얼마 되지 않으므로 실제로 오차는 크지 않고, 디폴트 옵션은 FALSE입니다.