노멀 매핑이 실제로 어떻게 작동하는지 설명하기 위해, 우선 ‘노멀’이란 무엇이며 실시간 조명에서 어떻게 사용되는지 설명합니다. 가장 기본적인 예는 각 표면 폴리곤이 광원에 대한 표면 각도에 따라 빛을 비추는 모델일 것입니다. 표면 각도는 표면에서 수직으로 향하는 선으로 표현할 수 있으며, 표면을 기준으로 이 방향(벡터)을 ‘표면 노멀’또는 단순히 노멀이라고 합니다.
위 이미지에서 왼쪽 실린더에는 기본 플랫 셰이딩이 있으며, 각 폴리곤은 광원에 대한 상대적인 각도에 따라 음영 처리됩니다. 표면이 평면이므로 각 폴리곤의 조명은 폴리곤 영역 전체에 걸쳐 일정합니다. 다음은 와이어프레임 메시가 표시된 동일한 두 개의 실린더입니다.
오른쪽 모델의 폴리곤 수는 왼쪽 모델과 동일하지만 셰이딩이 부드럽게 보입니다. 폴리곤 전체의 조명은 커브된 표면처럼 보입니다. 그 이유는 폴리곤의 너비에 걸쳐 광원을 반사하는 데 사용되는 각 지점의 표면 노멀이 점진적으로 변하므로, 표면의 특정 지점에서 광원은 실제로 평평한 상수 폴리곤이 아닌 이 표면이 커브된 것처럼 반사되기 때문입니다.
2D 다이어그램으로 보면 플랫 셰이딩된 실린더의 바깥쪽 주위에 있는 표면 폴리곤 중 세 개가 다음과 같이 표시됩니다.
표면 노멀은 주황색 화살표로 표시됩니다. 이 값은 광원이 표면에서 어떻게 반사되는지 계산하는 데 사용되며, 표면 노멀이 동일한 방향을 가리키기 때문에 광원이 각 폴리곤의 길이에 걸쳐 동일하게 반응합니다. 그러면 ‘플랫 셰이딩’이 발생하며 이로 인해 왼쪽 실린더의 폴리곤에 하드 에지가 있는 것처럼 보입니다.
하지만 부드럽게 셰이딩된 실린더의 경우 표면 노멀은 다음과 같이 평평한 폴리곤에 따라 달라집니다.
평평한 폴리곤 표면 전체에 걸쳐 노멀 방향이 점진적으로 변하므로 표면 전체에 셰이딩이 부드러운 커브(초록색 선으로 표시됨)의 느낌을 주게 됩니다. 이는 메시의 실제 폴리곤 특성에는 영향을 주지 않으며, 평면에서 조명이 계산되는 방식에만 영향을 줍니다. 이 커브된 표면은 실제로 존재하지 않으며 비스듬한 각도에서 면을 보면 실제로는 평평한 폴리곤임이 드러나지만, 대부분의 시야각에서는 실린더 표면이 부드럽게 커브된 것처럼 보입니다.
이 기본적인 부드러운 셰이딩을 사용하여 노멀 방향을 결정하는 데이터는 실제로 버텍스별로 저장되므로 표면 전체에 걸쳐 변하는 값은 한 버텍스에서 다음 버텍스로 보간됩니다. 위의 다이어그램에서 빨간색 화살표는 각 버텍스에 저장된 노멀 방향을 나타내고 주황색 화살표는 폴리곤 영역 전체에 보간된 노멀 방향의 예를 나타냅니다.