Estoy tratando de comprender el concepto de mapeo normal, pero estoy confundido por algunas cosas. En resumen, no estoy seguro de si un mapa normal depende o no del punto de vista (es decir, si obtendrá un mapa normal diferente del mismo objeto cuando lo gire). En segundo lugar, no entiendo por qué el color azulado es el color predominante en los mapas normales.
Lo que pienso sobre las normales y su relación con los colores RGB es el siguiente. La esfera de la unidad representa cualquier unidad normal posible; en otras palabras, los componentes X, Y y Z de un vector normal unitario varían de -1 a 1. Las componentes de un color RGB varían de 0 a 255. Por lo tanto, tiene sentido para asignar -1 (componente normal) a 0 (componente de color), 0 a 127 o 128 y 1 a 255. Cualquier valor intermedio se interpola linealmente.
La aplicación de este mapeo a las normales de un objeto 3D arbitrario da como resultado una imagen muy colorida, nada predominantemente azul. Por ejemplo, al tomar un cubo, las seis caras tendrían un color diferente pero uniforme. Por ejemplo, la cara con la normal (1,0,0) sería (255,128,128), la cara con la normal (0,0, -1) sería (128,128,0) y así sucesivamente.
Sin embargo, por alguna razón, los mapas normales de un cubo que encontré son completamente azulados, es decir (128,128,255). Pero claramente, las normales no están todas en la dirección z positiva, es decir (0,0,1). ¿Como funciona esto?
[Editar]
Ok, entonces el enfoque descrito anteriormente parece ser referido como el mapa normal del espacio objeto o el mapa normal del espacio mundial . El otro se llama el mapa normal del espacio tangente . Entiendo cómo se puede usar un mapa normal de espacio tangente para modificar las normales de una geometría, pero todavía no estoy completamente seguro de cómo se calcula realmente (ver mi comentario en la respuesta de Nicol Bolas).
[Editar 2]
Probablemente debería mencionar que estoy trabajando con superficies paramétricas por partes. Estas superficies consisten en un conjunto de parches de superficie , donde cada parche está asociado con su propio espacio paramétrico (u, v) = [0,1] x [0,1]. En cualquier punto de la superficie, lo normal se puede calcular exactamente. Aparentemente, los vectores T ( tangente ) y B ( bi-tangente ), necesarios para abarcar el espacio tangente, no son simplemente las derivadas parciales del parche de superficie en la dirección de u y v ...