Respuesta corta
Los mapas normales y las normales son dos cosas diferentes: las normales son una propiedad geométrica de cualquier malla / superficie, su uso no es exclusivo para los cálculos de sombreado e iluminación, sino que tiene muchos otros usos, por ejemplo, en física. Los mapas normales son texturas que codifican vectores normales alternativos utilizados en gráficos de computadora para simular protuberancias.
Respuesta larga
Las normales en geometría una normal es un vector o una línea que es perpendicular a un objeto dado (por ejemplo, plano normal, vértice normal). Las normales en los gráficos se usan generalmente para los cálculos de luz, como el cálculo de la reflexión difusa a través de una superficie tomando el producto de punto entre la dirección de la luz y las normales de la superficie. Las normales se calculan generalmente en función de las propiedades geométricas de la malla (caras / vértices), tomando el producto transversal de cualquiera de los dos bordes no paralelos que se encuentran en el mismo plano.
En OpenGL, las normales se especifican por vértice (por lo tanto, se denominan atributos de vértice), aunque pueden calcularse solo para cada cara en este caso, debe especificar la misma normal para cada vértice en una cara. OpenGL puede interpolar las normales a través de cada vértice de una cara (triángulo) para que pueda calcular la luz reflejada por píxel, no por vértice, y así obtener un resultado más preciso .
Mapeo normal : por otro lado, es una técnica en gráficos de computadora que codifica Normals en un mapa de textura, por lo que cada normal se codifica por texel. Por lo general, se usa para simular la iluminación de golpes y abolladuras (por ejemplo, mapeo de baches, mapeo de paralaje).
Dado que las normales se calculan en función de las propiedades geométricas de la malla / superficie, los mapas normales le proporcionarán normales alternativas que pueden simular las protuberancias para agregar detalles a la superficie sin agregar más polígonos.
Los mapas normales generalmente se generan usando un modelo 3D mucho más detallado, luego calculando los normales basados en este modelo y codificándolo en un Mapa Normal.
¿Por qué necesitamos ambos?
Bueno, hablando solo de renderizado, las normales y los mapas normales generalmente se usan juntos para lograr el efecto de iluminación final, un buen ejemplo podría ser un sombreador de relieve, donde necesita el mapa de normalidad normal para lograr el efecto de iluminación de relieve, y aún necesitará el geométrica normal para calcular lo que se llama espacio tangente . El espacio tangente se usa generalmente para proporcionar reutilización para mapas normales.
Tenga en cuenta que lo normal se considera un atributo geométrico de la superficie y tiene muchos más usos que solo los cálculos de luz. Los mapas normales, por otro lado, generalmente se usan para efectos superficiales.
Extender la respuesta para explicar por qué los espacios tangentes son importantes:
Respuesta corta: los
espacios tangentes se utilizan para hacer mapas normales independientes de la geometría subyacente.
[EDITAR] Imagen añadida para representar el mapa normal en el espacio tangente y el mapa normal en el espacio mundial.
Respuesta larga:
la imagen a continuación muestra el plano UV y la normalidad que define el espacio tangente, al generar un mapa normal ya sabremos que el espacio utilizado siempre tendrá la orientación Normal en la dirección Z (es por eso que los mapas normales se ven azulados) , esto nos ayudará a ignorar la curvatura de la superficie **,.
El espacio tangente nos da la ventaja de que nuestra codificación de mapas normales no está vinculada a una malla normal específica. Supongamos que codificamos nuestro mapa normal en el espacio mundial u objeto, luego cada normal que codificamos tendrá una dirección basada en cómo las normales de malla originales varían en el espacio mundial, sin mencionar que su mapa normal se verá afectado por las transformaciones del modelo.
En las dos imágenes anteriores está bastante claro que el espacio de tangentes hace mapas normales (derecha), independientemente de la geometría subyacente porque todas las normales están codificadas en casi la misma dirección con una pequeña variación para simular el efecto de los golpes.
** la curvatura de la superficie se define por la cantidad en que un objeto geométrico se desvía de ser plano o recto en el caso de una línea, pero esto se define de diferentes maneras según el contexto.