Compartir a través de


Ajuste de texturas

El ajuste de texturas cambia la forma básica en que Direct3D rasteriza polígonos con textura mediante las coordenadas de textura especificadas para cada vértice. Al rasterizar un polígono, el sistema interpola entre las coordenadas de textura en cada uno de los vértices del polígono para determinar los elementos de textura que se deben usar para cada píxel del polígono. Normalmente, el sistema trata la textura como un plano 2D, interpolando nuevos elementos de textura tomando la ruta más corta desde el punto A dentro de una textura hasta el punto B. Si el punto A representa la posición u, v (0,8, 0,1) y el punto B está en (0,1,0,1), la línea de interpolación es similar al diagrama siguiente.

diagrama de una línea de interpolación entre dos puntos

Tenga en cuenta que la distancia más corta entre A y B en esta ilustración se ejecuta aproximadamente a través del medio de la textura. La habilitación del ajuste de coordenadas u-texture o v-texture cambia cómo Direct3D percibe la ruta más corta entre las coordenadas de textura en la dirección u y la dirección v. Por definición, el ajuste de textura hace que el rasterizador tome la ruta más corta entre los conjuntos de coordenadas de textura, suponiendo que 0,0 y 1,0 coincidan. El último bit es la parte complicada: Puede imaginar que habilitar el ajuste de texturas en una dirección hace que el sistema trate una textura como si estuviera ajustada alrededor de un cilindro. Por ejemplo, considere el siguiente diagrama.

diagrama de una textura y dos puntos ajustados alrededor de un cilindro

En la ilustración anterior se muestra cómo el ajuste en la dirección u afecta a cómo el sistema interpola las coordenadas de textura. Con los mismos puntos que en el ejemplo para texturas normales, o no eswrapped, puede ver que la ruta más corta entre los puntos A y B ya no está a través del centro de la textura; ahora está a través de la frontera donde existen 0,0 y 1,0 juntos. El ajuste en la dirección v es similar, salvo que encapsula la textura alrededor de un cilindro que se encuentra en su lado. El ajuste tanto en dirección u como en dirección virtual es más complejo. En esta situación, puede visualizar la textura como un torus o anillos.

La aplicación práctica más común para el ajuste de texturas es realizar la asignación de entornos. Normalmente, un objeto con textura con un mapa de entorno aparece muy reflectante, mostrando una imagen reflejada del entorno del objeto en la escena. Para este debate, imagine una sala con cuatro paredes, cada una pintada con una letra R, G, B, Y y los colores correspondientes: rojo, verde, azul y amarillo. El mapa de entorno para una habitación tan sencilla podría parecerse a la siguiente ilustración.

Ilustración de franjas verticales de rojo, verde, azul y amarillo

Imagine que el techo de la habitación está mantenido por un pilar perfectamente reflectante, de cuatro lados. La asignación de la textura del mapa del entorno al pilar es sencilla; hacer que el pilar parezca que refleja las letras y los colores no es tan fácil. En el diagrama siguiente se muestra un marco de alambre del pilar con las coordenadas de textura aplicables enumeradas cerca de los vértices superiores. La costura donde el ajuste cruzará los bordes de la textura se muestra con una línea de puntos.

diagrama de un rectángulo con una línea de puntos bisecting

Con el ajuste habilitado en la dirección u, el pilar con textura muestra los colores y símbolos del mapa del entorno adecuadamente y, en la costura delante de la textura, el rasterizador elige correctamente la ruta más corta entre las coordenadas de textura, suponiendo que las coordenadas U 0.0 y 1.0 compartan la misma ubicación. El pilar con textura es similar a la siguiente ilustración.

ilustración de un pilar que consta de cuadrantes rojo, verde, azul y amarillo

Si el ajuste de textura no está habilitado, el rasterizador no interpola en la dirección necesaria para generar una imagen reflejada y creíble. En su lugar, el área situada en la parte delantera del pilar contiene una versión comprimida horizontalmente de los elementos de textura entre coordenadas u 0,175 y 0,875, a medida que pasan por el centro de la textura. El efecto de ajuste está arruinado.

No confunda el ajuste de texturas con los modos de direccionamiento de texturas con nombre similar. El ajuste de textura se realiza antes del direccionamiento de texturas. Asegúrese de que los datos de ajuste de textura no contienen ninguna coordenada de textura fuera del intervalo de [0.0, 1.0] porque esto generará resultados indefinidos. Para obtener más información sobre el direccionamiento de texturas, consulte Modos de direccionamiento de textura.

Ajuste del mapa de desplazamiento

Los mapas de desplazamiento se interpolan mediante el motor de tesselation. Dado que no se puede especificar el modo de ajuste para el motor de teselación, no se puede realizar el ajuste de texturas con mapas de desplazamiento. Una aplicación puede usar un conjunto de vértices que obliga a la interpolación a encapsularse en cualquier dirección. La aplicación también puede especificar la interpolación que se va a realizar como una interpolación lineal simple.

Texturas