Partager via


Fusion de textures

Direct3D peut fusionner autant que huit textures sur des primitives en une seule passe. L’utilisation de plusieurs mélanges de textures peut augmenter profondément la fréquence d’images d’une application Direct3D. Une application utilise plusieurs mélanges de textures pour appliquer des textures, des ombres, un éclairage spéculaire, un éclairage diffus et d’autres effets spéciaux dans une seule passe.

Pour utiliser la fusion de textures, votre application doit d’abord vérifier si le matériel de l’utilisateur le prend en charge.

Étapes de texture et cascade de fusion de texture

Direct3D prend en charge la fusion de plusieurs textures à passe unique par le biais de l’utilisation des étapes de texture. Une étape de texture prend deux arguments et effectue une opération de fusion sur celles-ci, en transmettant le résultat pour un traitement ultérieur ou pour la rastérisation. Vous pouvez visualiser une étape de texture, comme illustré dans le diagramme suivant.

diagramme d’une étape de texture

Comme le montre le diagramme précédent, les étapes de texture fusionnent deux arguments à l’aide d’un opérateur spécifié. Les opérations courantes incluent une simple modulation ou l’ajout des composants de couleur ou alpha des arguments, mais plus de deux douzaines d’opérations sont prises en charge. Les arguments d’une étape peuvent être une texture associée, la couleur itérée ou alpha (itérée pendant l’ombrage De Gouraud), la couleur arbitraire et l’alpha, ou le résultat de l’étape de texture précédente.

Notez que Direct3D distingue le mélange de couleurs par le mélange alpha. Les applications définissent des opérations de fusion et des arguments pour la couleur et l’alpha individuellement, et les résultats de ces paramètres sont indépendants les uns des autres.

 

La combinaison d’arguments et d’opérations utilisés par plusieurs étapes de fusion définit un langage de fusion simple basé sur un flux. Les résultats d’une étape passent d’une étape à une autre, de cette étape à la suivante, et ainsi de suite. Le concept de résultats allant de l’étape à l’étape pour finalement être ratérisé sur un polygone est souvent appelé cascade de fusion de textures. Le diagramme suivant montre comment les étapes de texture individuelles composent la cascade de fusion de textures.

diagramme des étapes de texture dans la cascade de fusion de textures

Chaque étape d’un appareil a un index de base zéro. Direct3D permet jusqu’à huit étapes de fusion, bien que vous deviez toujours vérifier les fonctionnalités de l’appareil pour déterminer le nombre d’étapes prises en charge par le matériel actuel. La première étape de fusion est à l’index 0, la seconde est à 1, et ainsi de suite, jusqu’à l’index 7. Le système fusionne les étapes dans l’ordre croissant des index.

Utilisez uniquement le nombre d’étapes dont vous avez besoin ; les étapes de fusion inutilisées sont désactivées par défaut. Par conséquent, si votre application utilise uniquement les deux premières phases, il n’a besoin que de définir des opérations et des arguments pour l’étape 0 et 1. Le système fusionne les deux étapes et ignore les étapes désactivées.

Si votre application varie en fonction du nombre d’étapes qu’elle utilise pour différentes situations, telles que quatre étapes pour certains objets, et seulement deux pour d’autres, vous n’avez pas besoin de désactiver explicitement toutes les phases précédemment utilisées. Une option consiste à désactiver l’opération de couleur pour la première étape inutilisée, alors toutes les phases avec un index supérieur ne seront pas appliquées. Une autre option consiste à désactiver complètement le mappage de texture en définissant l’opération de couleur pour la première étape de texture (étape 0) à un état désactivé.

Dans cette section

Sujet Description

Étapes de fusion

Une phase de fusion est un ensemble d’opérations de texture et leurs arguments qui définissent la façon dont les textures sont fusionnées.

Fusion de textures multipass

Les applications Direct3D peuvent obtenir de nombreux effets spéciaux en appliquant diverses textures à une primitive au cours de plusieurs passes de rendu. Le terme courant pour cela est le mélange de textures multipasses. Une utilisation classique pour le mélange de textures multipass est d’émuler les effets des modèles d’éclairage et d’ombrage complexes en appliquant plusieurs couleurs à partir de plusieurs textures différentes. Une telle application est appelée mappage de lumière.

 

Textures