본문 바로가기

프로그래밍/DirectX

범프 매핑 (Bump Mapping)

노멀 매핑, 법선 매핑이라고도 부른다.

 

물체의 입체감이 있는 것처럼 보여주기 위해 각 픽셀마다 법선을 정의해주는 기법이다.

 

법선맵은 보통 접선공간이라고 부르는 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