노멀 매핑, 법선 매핑이라고도 부른다.
물체의 입체감이 있는 것처럼 보여주기 위해 각 픽셀마다 법선을 정의해주는 기법이다.
법선맵은 보통 접선공간이라고 부르는 Tangent Space에 저장한다.
노멀 텍스처에 저장되어 있는 법선 맵을 법선 벡터로 변환해서 사용한다.
법선벡터 XYZ = 법선맵RGB * 2 - 1
탄젠트 공간은 정점의 법선벡터(Z축)를 기준으로 해서 만든 좌표축을 얘기한다.
탄젠트 공간에서는 법선벡터, 즉 Normal이 Z축이 되고 텍스쳐의 UV 중 U나 V 중 하나를 가져와 X축으로 삼는다.
그리고 외적을 이용해서 세번째 축을 구하는데 이렇게 구한 축을 종법선(Binormal)이라고 한다.
법선맵이 항상 파란 이유
파란색이면 b 채널을 얘기한다. 이것은 법선의 z이고 z의 방향은 표면의 바깥쪽 방향이다.
따라서 z값이 최소한 0보다 크다는 얘기이다. 그럼 z 값의 범위가 0 ~ 1이라는 얘기이고 이것을 텍스쳐에 저장하면
0.5 ~ 1이 되므로 어느 픽셀을 뽑던 간에 파란색이 최소한 절반은 들어가 있다는 얘기이다.
'프로그래밍 > DirectX' 카테고리의 다른 글
DirectX11 자원 (Resource) (0) | 2019.04.05 |
---|---|
DirectX 11 기초 (0) | 2019.03.28 |
3D 애니메이션 이론 2 (0) | 2019.03.26 |
Directx11 렌더링 파이프라인 (0) | 2019.03.22 |
3D Animation 이론 1 (0) | 2019.03.22 |