¿Alguna vez habías oido el termino normal maps, o mapa de normales?, sin has visto algun video juego moderno, casi con seguridad que habrás visto los normal maps, la sensacion de rugosidad, bajos relieves en paredes, armaduras con detalle, , aunque los fabricantes de chips, vienen contando los trillones de poligonos que pueden manejar, el tener que renderizar constantemente estas texturas seria un trabajo tedioso y realmente enlentecedor para los motores graficos, asi que el truco es archivar de alguna la informacion mas importan de un relieve, que viene a ser la informacion de altura sobre el plano, es decir la normal.
El comienzo de esta tecnica se llamaba bump, abultamiento, y persolamente lo utilice en el 3d-max, yo lo utilizada para mejorar el modelo, aunque no necesitaba velocidad ya que el renderizado podia llevar horas, e incluso dias, en aquel viejo 386 con coprocesar matematico. En la tecnica bump se utilizaba un grafico con niveles de grises, que se utilizaba para dar un efecto de estampado a la superficie sobre la que se aplicaba, digamos que el blanco seria el altura 0, y el negro altura 1, entre el blanco y el negro se creaban 256 niveles alturas. Esto hacia que p.e. Si usabamos un texto, negro sobre fondo blanco en una superficie plana esta fuese interpretada como un mapa de niveles, y en el renderizado final apareciese un repujado del texto. Sin esta tecnica habria que meter muchas horas para generar una superficie de alambren que hiciese el mismo efecto. Pero el modelo bump, solamente daba informaicon sobre una coordenada, pero como todos sabemos una imagenen en color esta formado por 3 colores basicos, rojo, verde y azul, lo que se llama RGB (Red, Green Blue), asi que por que no usar la informacion de cada canal como valor de profundidad.
Por lo tanto un mapa de normales, aporta una información sobre la normal de cada coordenada, y viene a ser un gráfico similar al original pero con sus paramentros RGB, alterados, es decir si en el gráfico original la información RGB, determinan el color, en el mapa de normanles:
- R normal de X
- G normal de Y
- B normal de Z
Con esta informacion el motor grafico, pintara la superificie el grafico orignal sobre el plano, y luego usar los parametros del mapa de normales, junto con la fuente de luz para crear las sombras en relacion con los valores de las normales
Esto principalmente se usa para acelera el renderizado de la superficie en tiempo real, con un efecto realmetne creible. El problema es que es una simulacion, el modelo sigue siendo plano asi que cuando una superficie se observa desde una perspectiva cercana a 180º, lo mas probable es que se vea una superficie plana, con un monton de extrañas sombras.
Si lo que se quiere es generar una textura rugosa a veces se puede generar directamente desde el grafico plano, con programas como photoshop, ahora si lo que se precisa es de una informacion mas precisa como los detalles de una cara, entonces probablemente el diseñador opte por usar el modelo completo en 3D de la cara y que sea la misma herramienta de generacion la que genere el mapa de normales.
http://wiki.blender.org/index.php/Manual/Bump_and_Normal_Maps