¿Por qué los mapas normales del espacio tangente no son completamente azules?

11

¿Por qué los mapas normales no son solo azules? Creo que los mapas normales deberían ser predominantemente de color azul porque el componente Z de lo normal está representado por el azul. Las normales apuntan fuera de la superficie en la dirección Z, por lo que deberíamos ver el azul como el color predominante ya que el componente Z es dominante.

Por definición, el espacio tangente es perpendicular a la superficie. En cualquier punto, deberíamos tener la normal siempre apuntando en la Z (dirección azul) sin X (dirección roja) o Y (dirección verde). Por lo tanto, el mapa normal (ya que es un "mapa normal") debe tener el color de las normales, que es solo azul (R = x = 0, G = y = 0, B = z = 1) sin sombras en el medio.

Pero los mapas normales no son así, y tienen gradientes de sombras en ellos. ¿Por qué esto es tan?

caballo de mar
fuente

Respuestas:

19

El espacio tangente es perpendicular a las normales geométricas : las normales de vértice interpoladas de los polígonos. El mapa normal proporciona las normales de sombreado , en relación con el espacio tangente definido por las normales geométricas. Cuando las normales de sombreado no son las mismas que las geométricas, es decir, porque tiene una textura de superficie detallada con características que no están modeladas en la geometría, el mapa normal se desvía del "azul plano" (RGB 128, 128, 255).

Ese es el punto central de los mapas normales: son la forma en que obtienes la forma detallada y a pequeña escala de una superficie para representarla con luces y sombras, aunque no hayas modelado todos esos pequeños detalles con polígonos.

Nathan Reed
fuente
1
Para elaborar, los mapas normales generalmente se realizan en el espacio tangente ya que esto se mantiene preciso cuando la malla está animada, mientras que, por ejemplo, los mapas normales del espacio modelo requerirían que los mapas normales estén animados en conjunto con cualquier animación que pueda tener (lo que sería especialmente complicado con esqueletos y muñecos de trapo arbitrarios, por ejemplo). Para la geometría estática, no hay ninguna razón técnica por la que no pueda tener un mapa normal de espacio modelo, no todo azul, simplificando su sombreador de píxeles muy ligeramente (a expensas de la consistencia, requiere más sombreadores y, a su vez, requiere más sombreador) cambios de selección).
MaulingMonkey
1
(también los datos de mapas normales generalmente no se pueden reutilizar en varios lugares en una malla si se encuentra en el espacio modelo)
MaulingMonkey
+1; El párrafo final es clave para la pregunta: si se suponía que la superficie en la que estaban era completamente plana, serían azules. Si se suponía que la superficie tenía cierta rugosidad, el mapa normal modela esa rugosidad sin necesidad de especificar geometría adicional.
Maximus Minimus
2

La respuesta simple es que se debe al sesgo de rango.

Las normales tienen un rango de -1,0 a 1.0, para cada componente (x, y, z). El mapa normal, almacenado como una imagen RGB de 24 bits, por otro lado, tiene un rango de 0 a 255 para cada componente.

Esto significa que cualquier componente que fuera cero se convierte en 127.5 (el centro exacto) en el mapa normal (que se redondea a 128).

El vector normal (0,0,1) se convierte en (128,128,255) en la imagen del mapa normal, que es un color púrpura, en lugar de azul puro (0,0,255).

GraphixGuy
fuente