El mapeado de texturas establece cómo se sitúa la textura sobre el objeto al momento de proyectarse. Algunas texturas son tridimensionales y por lo general no necesitan un mapeado detallado ya que no se verán exactamente deformaciones o imperfectos. Cuando hay texturas de imagen bidimensionales existen una serie de inconvenientes. Cuando la textura es plana, el objeto no lo es. Se debe colocar de alguna manera esa figura “plana” sobre una superficie. Las técnicas de mapeado de texturas pueden ser de dos tipos:
Coordenadas Ortogonales: éstas utilizan las propias coordenadas 3D de los objetos proyectados de forma automática. Aparentemente esta es la más sencilla ya que no necesita ninguna configuración adicional.
Mapeado UV: se asigna una coordenada para cada vértice del objeto que más adelante se va a interponer.
Existe una técnica para realizar mapeado y es la técnica de Mapeado de Texturas por defecto.
Se utiliza la misma técnica para la generación de coordenadas de textura por defecto para cualquier forma que se derive de ello. Para realizarlo primero se debe calcular el cuadro que limita al objeto, luego se utiliza el borde más largo de la caja como el eje horizontal (s) de la textura. El borde más largo se utiliza como el eje vertical (t) de la textura. El valor de la coordenada s varía de 0.0 a 1.0, desde la punta de un rectángulo seleccionado a la otra. El valor de t varía de 0 a n, donde n es la misma relación entre el segundo lado más largo del rectángulo seleccionado para el lado más largo (el efecto es que la textura se usa para el lado más largo de la caja)
Cuando existen formas que no se derivan de las coordenadas de textura por defecto, hay una forma diferente para cada forma, estas son:
SoSphere: Si el escenario gráfico tiene un nodo seguido de un nodo, la textura se aplica a la esfera utilizando las coordenadas de textura por defecto. De esta forma, la textura cubre toda la superficie de la esfera, cubriendo la parte posterior de la esfera.
SoCube: Se aplica a una textura utilizando las coordenadas de textura predeterminadas, toda la textura se aplica a cada parte. La textura se aplica del lado derecho hacia arriba.
SoCylinder: Se aplica una textura utilizando las coordenadas de textura predeterminada, la textura cubre alrededor de los lados en dirección hacia la izquierda comenzando en el eje z.
SoCone: La textura envuelve en sentido contrario a las manecillas del reloj alrededor de los lados del cono, desde la parte posterior del cono. La textura se envuelve alrededor y se conecta a sí mismo.
SoNurbsSurface: Se aplica una textura a una superficie NURBS empleando las coordenadas de textura predeterminada.
SoText3: Se aplica una textura a la parte de delante de una superficie utilizando las coordenadas de textura por defecto, la textura de coordenadas 0.0 , es el origen del texto.
Mapeo de Normales
Los mapas normales, es la cara de un objeto y corresponde a un vector tridimensional que determina la dirección en que ella apunta. En esta es posible almacenar información tridimensional de la normal de cada pixel. Los colores almacenados en la imagen forman parte de la gama de rojos, verdes y azules, los rangos varían entre 0 y 255 y corresponden a valores entre -1.0 y 1.0. Esto permite simular relieve, ya que cada pixel recibe luz, dependiendo de su orientación, entonces si el objeto es iluminado de izquierda a derecha, recibirá luz los pixeles que sus normales apunten hacia la izquierda, de esta manera se crea la sensación de relieve.
Los mapas de normales (normal bump), son usados para simular relieve, en los objetos o superficies que no lo tienen. Su efecto es manejado por una cámara y simula la impresión de una superficie 3D, si el ángulo de la cámara no es suficiente en relación con la superficie, se verá que en realidad la superficie no tiene relieve.
Almacenan mucha información, ya que poseen tres canales de colores (RGB), al utilizar tres canales no es necesario usar un formato de archivo especial, sólo se necesita un mapa de bits común. Utilizar este tipo de mapas es importante para colocar o añadir detalles a un modelo que tenga pocos polígonos, no es compleja su aplicación debido a que se utiliza de la misma manera que cualquier otro mapa desarrollado en 3D.
Su textura almacena la altura relativa de los pixeles desde el punto de vista de la cámara. Se pueden usar imágenes en escala de grises o con los valores de intensidad de una textura RGB donde se pueden incluir imágenes.
El objetivo de utilizar este tipo de mapeado, es reducir el número de polígonos necesarios para modelar un objeto complejo. Son útiles para escenas estáticas o animaciones. Cuando se desea realizar series animadas, es necesario reducir tiempos de render y excluir algunos detalles de la animación, este puede ser usado para generar escenas y backgrounds.
Cuando ya se va a realizar escenas estática, se puede crear un ambiente realista, por medio de uso de mapas normales y combinarlos con mapas de desplazamiento.
Para crear mapas normales, se pueden usar varias formas, ya sea los análogos que son las cámaras fotográficas convencionales, hasta los digitales que es 3D. La mayoría de los Software de desarrollo 3D tienen herramientas para crear mapas normales desde modelos ya existentes, se pueden moldear los objetos con muchos detalles. Lo importante de este tipo de mapeado, se basa en iluminar el objeto en ángulo recto, por cada uno de los ejes (x, y ,z) capturar, aplicar las correcciones de color RGB y fusionar todo en la misma imagen.
Cuando se observa la superficie con el mapa aplicado, se pueden observar los relieves, sin embargo, si se observa alrededor del objeto, se podrá ver que el relieve no es más que un efecto ya que el objeto no está levantado.
El mapeado de texturas es un método para añadir detalles, colores o texturas exteriores a un gráfico generado por ordenador o un modelo 3D. Esta aplicación a los modelos 3D fue usada por primera vez por Edwin Catmull en su tesis del 1974.
Funcionamiento
El mapa de la textura es aplicado a la zona exterior de la figura o el polígono. Este proceso es similar a aplicar papel de regalo a una caja blanca.
El multitexturado es el uso de más de una textura a la vez en un polígono. Por ejemplo, una textura se puede usar a modo de mapa de luces para iluminar la superficie del objeto como alternativa a recalcular la luz en esa parte del objeto cada vez que es renderizado. Otra técnica del multitexturado es el mapeado topológico que puede dar una buena apariencia en superficies complejas, como la corteza de un árbol o cemento áspero, esto ofrece detalles de luces añadido a los detalles del color.
La manera en la que los píxeles resultantes en la pantalla son calculados desde los píxeles de la textura está controlado por el filtrado de texturas. El método más rápido es usar el interpolación por vecino más cercano, pero la interpolación bilineal o trilineal entre mipmaps es usada frecuentemente como alternativa para reducir el aliasing o dentados.