Mapeo esférico: la textura se contrae en los polos de la imagen y se expande por el centro, por lo que las imágenes se distorsionan para adaptarse a la forma esférica. Es el ideal para objetos esféricos de superficie lisa, como balones, globos, etc.Si el objeto no tuviese una superficie lisa, ocurriría lo mismo sobre cada una de las protuberancias que mostrase dando un aspecto no deseado a la imagen.
Posiblemente se acerca más a la realidad que cualquier otro, puesto que la textura está anclada a las coordenadas UV correspondientes (para entendernos, las coordenadas UV son como la longitud y la latitud en una esfera, un valor determinado por dos números que indica la posición exacta de un punto en el espacio). Sólo tiene que colocar la textura, y retorcer, estirar o doblar la figura, para que la textura aplicada se acomode a los nuevos valores.

Ejemplo de mapeado UV
Aunque sus ventajas son númerosas en cuanto a texturizar objetos deformados o moldeados, donde verdaderamente se aprecia el poder del mapeado UV es en la animación de personajes.
Antes de aplicar estas ecuaciones de mapeado debemos tener en cuenta diversas consideraciones:
- En general, por mayor eficiencia, una textura debería ser rectangular. Podremos codificar una textura como un array de dos dimensiones. También es posible el uso de texturas no rectangulares. Por ejemplo, si deseáramos una textura hexagonal, podríamos introducirla en el interior de un rectángulo más grande, y definir un polígono en el interior del mismo que cubra los pixels adecuados.
- Es posible que parte del polígono quede sin recubrir por la textura. En estos casos se debe optar por expandir dicha textura o por repetirla hasta cubrir todo el polígono, creando un efecto de mosaico.
- Debemos conocer en que posición del espacio está situada la textura, al igual que deberíamos conocer la posición de cada vértice del polígono en la pantalla. En el caso de la textura esto es más sencillo, ya que sabemos a priori que se trata de un rectángulo. Por lo tanto, nos bastará con almacenar la posición de su vértice superior izquierda y dos direcciones. Dichos parámetros deberán ser transformados para conocer su posición relativa respecto al observador. El punto P se transforma de la misma forma que los vértices de un polígono. Una forma de transformar las direcciones M y N es calcular los vértices superior derecha e inferior izquierda de la textura, transformarlos de la misma forma que los vértices del polígono, y substraer P al resultado.
- Por último se debe tener en cuenta que la textura no tiene por qué encontrarse en el mismo plano que el polígono. Por ejemplo, supongamos que deseamos aplicar una textura de cielo nublado a un entorno 3D correspondiente a una casa sin techo. Para poder representar esto, podemos darle a P un valor mucho más alto para la coordenada "y" que la del techo abierto de la casa. Así, al movernos por la habitación, el movimiento de la textura del cielo será menor, causando la sensación de que se encuentra mucho más lejos.
La mayor parte de dichas técnicas se basarán en aplicar unas determinadas ecuaciones de mapeado de texturas, para, tal como se ha comentado anteriormente, conseguir determinar que texels de la textura deben ser dibujados y cual es su pixel correspondiente dentro del polígono. Se muestra a continuación un resumen de los algoritmos mas usados.

- Perfect Mapping: este es el algoritmo mas básico. Realiza el mapeado de texturas de una manera correcta, aunque no sea rápida, es decir, para comprender mejor el proceso del mapeado, comenzamos por una solución eficaz, aunque poco eficiente, a la que iremos haciendo mejoras. Para realizar el mapeado vamos a utilizar tres vectores A, B y C que calcularemos a partir de los valores P, M y N vistos anteriormente mediante las siguientes ecuaciones. Se usa el símbolo ‘x’ para denotar el producto vectorial de dos vectores, y el símbolo ‘*’ para el producto escalar de dos vectores. Se muestra a continuación como se calculan estos vectores:
Para cada línea de barrido de coordenada screenY hacer:
A = P x N
B = M x P
C = N x M
Lo siguiente que tenemos que hacer para cada pixel de la pantalla es, para cada pixel correspondiente a la línea de barrido, hacer:
S = (screenX, screenY, DIST)
a = S * A b = S * B c = S * C
u = ancho_de_la_textura * a / c v = alto_de_la_textura * b / c
col = texel de la textura en la posición (u, v)
Dibujar el pixel en la posición con el color ‘col’.
Con todo esto ya tenemos un algoritmo para el mapeado de texturas que funciona correctamente. A partir de aquí podemos empezar a plantearnos optimizaciones que nos permitan hacerlo lo más rápido posible.
- Afine Mapping: el Perfect Mapping aunque ofrece buenos resultados en cuanto a la calidad de imagen, no es lo suficientemente rápida a la hora de representar escenas tridimensionales en movimiento. Por este motivo surgió el mapeado affine. Éste método está basado en el uso de la
interpolación bi-lineal pare realizar el mapeado. En otras palabras, se trata de estirar la textura para ajustarla a los márgenes de cada una de las líneas de barrido que tenemos del polígono. El método es sencillo, se trata de calcular unos valores de interpolación mediante los cuales
vamos a conocer que texels de la textura se corresponden con los pixels del polígono.
El problema de esta técnica se produce cuando el ángulo entre la dirección de vista y la normal al plano del polígono es grande. En este caso la profundidad varía notablemente para cada una de las líneas de barrido y provoca que al efectuar el mapeado el objeto representado parezca estar torcido, efecto que se acentúa según nos acercamos el objeto al punto de vista.
Sin embargo, dada su velocidad, el affine es un método muy recomendable para representar los objetos de escenas tridimensionales que presentan la característica de que sus líneas de barrido tienen una profundidad prácticamente constante respecto al punto de vista. Las primeras aplicaciones las podemos encontrar en ciertos juegos como, por ejemplo, la serie del Wing Commander que guardaba las imágenes de un objeto desde distintos puntos de
vista. Para renderizar un objeto, seleccionaba la imagen correspondiente y utilizaba el affine para mostrarla en pantalla. El siguiente juego en incorporar esta técnica fue Wolfenstein 3D que la utilizó para renderizar los muros, para los que se utilizaron líneas de barrido verticales con lo que la profundidad era constante y el algoritmo funcionó correctamente. Algo más allá llegaron juegos como DOOM que utilizaron el affine mapping para la representación de suelos mediante el uso de líneas de barrido horizontales ya que en este caso la profundidad de cada línea también permanece constante.
Todo esto nos lleva a pensar que el affine es un método muy bueno si se quieren renderizar objetos cuyas superficies son verticales u horizontales. Teniendo en cuenta ciertos estudios que demuestran que, por naturaleza, el ser humano tiende a orientarse lo derecho hacia arriba y que esto conlleva que en nuestro entorno los suelos sean horizontales y las paredes verticales, la mayoría de las escenas que queramos representar se pueden dibujar así.
- Area Subdivision: esta técnica se aplica a objetos que no tienen la propiedad de ser horizontales o verticales. Sigue un esquema basado en el affine, pero sin comprometer tanto la calidad del resultado. Este método localiza aquellas areas que forman parte de una misma superficie. Tal y como sugiere su nombre, el área total a visualizar es dividida progresivamente en pequeños rectángulos hasta que cada subarea sea "sencilla", es decir, llegue a ser un pixel individual (caso extremo), o esté cubierta totalmente por una parte de una sola superficie o por ninguna superficie.
- Scanline Subdivision: otra solución parecida a la anterior consiste en dividir no el polígono a representar sino la línea de barrido. Esto viene justificado ya que los errores que comete el affine se producen según vamos recorriendo la línea de barrido ya que la diferencia en la profundidad de cada uno de los extremos de la línea puede ser notable y este efecto se puede reducir al dividir la línea en segmentos más pequeños.
De esta manera se consiguen una serie de ventajas:
- La mayoría de los pixels pueden ser trazados mediante esta técnica, lo cual es bastante más rápido que el uso del ‘mapeado perfecto’.
- Se puede ajustar el tamaño de la línea de barrido respecto a ciertos valores como el ángulo
entre el punto de vista y la normal a la superficie, el tamaño de la pantalla, la distancia al punto de vista, etc..
- Si el tamaño de las líneas de barrido se ajusta a una potencia de 2 conseguimos mejorar el rendimiento del algoritmo affine ya que las divisiones que se efectúan pueden realizarse como desplazamientos.
- Parabolic Mapping: se trata de un método que utiliza la parábola como herramienta matemática para realizar el render de manera que se obtienen mejores resultados que con el ‘mapeado affine’ a costa de reducir algo la velocidad.