Resposta curta
Mapas normais e Normais são duas coisas diferentes: Normais são uma propriedade geométrica de qualquer malha / superfície; seu uso não é exclusivo para cálculos de sombreamento e iluminação, mas na verdade tem muitos outros usos, por exemplo, na física. Mapas normais são texturas que codificam vetores normais alternativos usados em gráficos de computador para simular solavancos.
Resposta longa
Normais na geometria, um normal é um vetor ou uma linha que é perpendicular a um determinado objeto (por exemplo, plano normal, vértice normal). As normais nos gráficos geralmente são usadas para cálculos de luz, como o cálculo da reflexão difusa em uma superfície, levando o produto escalar entre a direção da luz e as normais da superfície. As normais são normalmente calculadas com base nas propriedades geométricas da malha (Faces / Vértices), obtendo-se o produto cruzado de quaisquer duas arestas não paralelas que estão no mesmo plano.
No OpenGL, os normais são especificados por vértice (portanto chamados de atributos de vértice), embora possam ser calculados apenas para cada face, nesse caso, você precisa especificar o mesmo normal para cada vértice em uma face. As normais podem ser interpoladas pelo OpenGL em cada vértice de uma face (triângulo) para que você possa calcular a luz refletida por pixel e não por vértice, fornecendo um resultado mais preciso .
Mapeamento Normal : por outro lado, é uma técnica em computação gráfica que codifica Normais em um mapa de textura, de modo que cada normal é codificado por texel. É geralmente usado para falsificar a iluminação de solavancos e amassados (por exemplo, mapeamento de solavancos, mapeamento de paralaxe).
Como os normais são calculados com base nas propriedades geométricas da malha / superfície, o Normal Maps fornecerá normais alternativos que podem simular os solavancos para adicionar detalhes à superfície sem adicionar mais polígonos.
Os mapas normais geralmente são gerados usando um modelo 3D muito mais detalhado, calculando os normais com base nesse modelo e codificando-o em um Mapa Normal.
Por que precisamos dos dois?
Bem, falando apenas sobre renderização, os normais e os mapas normais geralmente são usados juntos para obter o efeito de iluminação final; um bom exemplo pode ser um shader de resposta, onde você precisa do mapa normal para obter o efeito de iluminação de resposta e ainda precisará do normal geométrico para calcular o que é chamado de espaço tangente . O espaço tangente é geralmente usado para fornecer reutilização para mapas normais.
Lembre-se de que um normal é considerado um atributo geométrico da superfície e tem muito mais usos do que apenas cálculos de luz. Mapas normais, por outro lado, são geralmente usados para efeitos superficiais.
Estendendo a resposta para explicar por que os espaços tangentes são importantes:
Resposta curta:
Espaços tangentes são usados para fazer mapas normais, independentemente da geometria subjacente.
[EDIT] Adicionado imagem para representar o mapa normal no espaço tangente e o mapa normal no espaço mundial.
Resposta longa:
A figura abaixo mostra o plano UV e o normal que define o espaço tangente. Ao gerar um mapa normal, já sabemos que o espaço usado sempre terá o apontador Normal na direção Z (é por isso que os mapas normais ficam azulados) , isso nos ajudará a ignorar a curvatura da superfície **,.
O espaço tangente nos dá a vantagem de que a codificação normal de nossos mapas não está vinculada a valores normais de malha específicos. Suponha que codifiquemos nosso mapa normal no mundo ou no espaço de objetos, e cada normal codificado terá uma direção com base em como as normais normais da malha original variam no espaço do mundo, sem mencionar que o mapa normal será afetado pelas transformações do modelo.
Nas duas figuras acima, é bastante claro que o espaço tangente faz mapas normais (à direita), independentemente da geometria subjacente, porque todas as normais são codificadas quase na mesma direção com pequenas variações para simular o efeito dos solavancos.
** curvatura da superfície é definida pela quantidade que um objeto geométrico diverge de ser plano ou reto no caso de uma linha, mas isso é definido de maneiras diferentes, dependendo do contexto.