짧은 답변
법선 맵과 법선은 서로 다른 두 가지입니다. 법선은 메쉬 / 표면의 기하학적 특성으로, 음영 및 조명 계산에만 사용되는 것이 아니라 실제로 물리학에서 다른 많은 용도로 사용됩니다. 법선 맵은 범프를 시뮬레이션하기 위해 컴퓨터 그래픽에 사용되는 대체 법선 벡터를 인코딩하는 텍스처입니다.
긴 답변
지오메트리의 법선 법선 법선 은 주어진 객체에 직교하는 벡터 또는 선입니다 (예 : 평면 법선, 정점 법선). 그래픽의 법선은 일반적으로 광 방향과 표면 법선 사이에서 내적 을 구하여 표면 전체의 산란 반사 를 계산하는 등의 광 계산에 사용됩니다 . 법선은 일반적으로 동일한 평면에있는 두 개의 비평 행 모서리의 교차 곱을 가져와 메쉬의 기하학적 특성 (면 / 정점)을 기반으로 계산됩니다.
OpenGL에서 법선은 정점마다 지정되므로 정점 속성이라고하는데,이 경우 각면에 대해서만 계산 될 수 있지만면의 각 정점에 대해 동일한 법선을 지정해야합니다. OpenGL은면 (삼각형)의 각 정점에 법선을 보간 할 수 있으므로 정점이 아닌 픽셀 당 반사광을 계산할 수있어보다 정확한 결과를 얻을 수 있습니다.
반면 노멀 매핑 : 텍스처 맵에서 노멀을 인코딩하는 컴퓨터 그래픽 기술입니다. 따라서 각 노멀은 텍셀마다 인코딩됩니다. 일반적으로 범프 및 덴트의 조명을 만드는 데 사용됩니다 (예 : 범프 매핑, 시차 매핑).
법선은 메쉬 / 표면의 기하학적 특성을 기반으로 계산되므로 법선 맵은 범프를 시뮬레이션하여 더 많은 다각형을 추가하지 않고 표면에 디테일을 추가 할 수있는 대체 법선을 제공합니다.
노멀 맵은 일반적으로 훨씬 더 상세한 3D 모델을 사용하여 생성 된 다음이 모델을 기반으로 노멀을 계산하고 노멀 맵으로 인코딩합니다.
왜 둘 다 필요합니까?
렌더링, 노멀 및 노멀 맵은 일반적으로 최종 조명 효과를 얻기 위해 함께 사용됩니다. 좋은 예는 범프 셰이더 일 수 있습니다. 여기서 범프 라이팅 효과를 얻으려면 노멀 맵 노멀이 필요합니다. 탄젠트 공간 을 계산하는 기하 법선 . 탄젠트 공간은 보통 노멀 맵에 재사용 성을 제공하는 데 사용됩니다.
법선은 표면의 기하학적 특성으로 간주되며 조명 계산보다 더 많은 용도가 있습니다. 반면 노멀 맵은 일반적으로 표면 효과에 사용됩니다.
접선 공간이 중요한 이유를 설명하기 위해 답을 확장합니다.
짧은 대답 :
탄젠트 공간은 기본 지오메트리와 독립적 인 노멀 맵을 만드는 데 사용됩니다.
[편집] 탄젠트 공간의 노멀 맵과 월드 공간의 노멀 맵을 나타내는 이미지가 추가되었습니다.
긴 대답 :
아래 그림은 UV 평면과 탄젠트 공간을 정의하는 법선을 보여줍니다. 노멀 맵을 생성 할 때 사용 된 공간이 항상 Z 방향을 향하는 법선을 갖습니다 (그래서 노멀 맵은 파랗게 보입니다) 표면 곡률을 무시하는 데 도움이됩니다 **,.
탄젠트 스페이스는 노멀 맵 인코딩이 특정 메시 노멀에 바인딩되지 않는다는 이점을 제공합니다. 월드 또는 오브젝트 공간에서 노멀 맵을 인코딩한다고 가정하면, 인코딩하는 각 노멀은 월드 맵에서 원래 메쉬 노멀이 어떻게 변하는 지에 따라 방향을 가지게됩니다.
위의 두 그림에서 접선 공간은 기본 지오메트리와 무관하게 법선 맵 (오른쪽)을 만드는 것이 분명합니다. 모든 법선은 작은 변형으로 거의 같은 방향으로 인코딩되어 범프의 효과를 시뮬레이션하기 때문입니다.
** 표면 곡률은 형상 객체가 선의 경우 평면 또는 직선에서 벗어나는 양으로 정의되지만 상황에 따라 다른 방식으로 정의됩니다.