Combinación de texturas
Direct3D puede mezclar hasta ocho texturas en primitivos en un solo paso. El uso de varias mezclas de texturas puede aumentar profundamente la velocidad de fotogramas de una aplicación Direct3D. Una aplicación emplea varias mezclas de texturas para aplicar texturas, sombras, iluminación especular, iluminación difusa y otros efectos especiales en un solo paso.
Para usar la combinación de texturas, la aplicación debe comprobar primero si el hardware del usuario lo admite.
Fases de textura y combinación de texturas en cascada
Direct3D admite la combinación de varias texturas de paso único mediante el uso de fases de textura. Una fase de textura toma dos argumentos y realiza una operación de fusión en ellos, pasando el resultado para su posterior procesamiento o para la rasterización. Puede visualizar una fase de textura como se muestra en el diagrama siguiente.
Como se muestra en el diagrama anterior, las fases de textura combinan dos argumentos mediante un operador especificado. Las operaciones comunes incluyen modulación simple o adición de los componentes de color o alfa de los argumentos, pero se admiten más de dos docenas de operaciones. Los argumentos de una fase pueden ser una textura asociada, el color iterado o alfa (iterado durante el sombreado gouraud), el color arbitrario y el alfa, o el resultado de la fase de textura anterior.
Nota Direct3D distingue la combinación de colores de la combinación alfa. Las aplicaciones establecen operaciones y argumentos de combinación para color y alfa individualmente, y los resultados de esa configuración son independientes entre sí.
La combinación de argumentos y operaciones usadas por varias fases de mezcla definen un lenguaje de mezcla basado en flujo simple. Los resultados de una fase fluyen hacia abajo a otra fase, desde esa fase hasta la siguiente, etc. El concepto de resultados que fluyen de fase a fase para que finalmente se rastericen en un polígono se denomina cascada de mezcla de texturas. En el diagrama siguiente se muestra cómo las fases de textura individuales componen la cascada de mezcla de texturas.
Cada fase de un dispositivo tiene un índice de base cero. Direct3D permite hasta ocho fases de fusión, aunque siempre debes comprobar las funcionalidades del dispositivo para determinar cuántas fases admite el hardware actual. La primera fase de fusión está en el índice 0, la segunda es en 1, etc., hasta el índice 7. El sistema combina fases en el orden creciente del índice.
Use solo el número de fases que necesita; Las fases de combinación sin usar están deshabilitadas de forma predeterminada. Por lo tanto, si la aplicación solo usa las dos primeras fases, solo necesita establecer operaciones y argumentos para la fase 0 y 1. El sistema combina las dos fases y omite las fases deshabilitadas.
Si la aplicación varía el número de fases que usa para diferentes situaciones (como cuatro fases para algunos objetos y solo dos para otros), no es necesario deshabilitar explícitamente todas las fases usadas anteriormente. Una opción consiste en deshabilitar la operación de color de la primera fase no utilizada y, a continuación, no se aplicarán todas las fases con un índice superior. Otra opción consiste en deshabilitar la asignación de texturas por completo estableciendo la operación de color para la primera fase de textura (fase 0) en un estado deshabilitado.
En esta sección
Tema | Descripción |
---|---|
Una fase de fusión es un conjunto de operaciones de textura y sus argumentos que definen cómo se mezclan las texturas. |
|
Las aplicaciones direct3D pueden lograr numerosos efectos especiales aplicando varias texturas a un primitivo durante el transcurso de varios pasos de representación. El término común para esto es la combinación de texturas de varios pasos. Un uso típico para la mezcla de texturas multipass es emular los efectos de los modelos complejos de iluminación y sombreado aplicando varios colores de varias texturas diferentes. Una de estas aplicaciones se denomina asignación de luz. |
Temas relacionados