Fusion de textures

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

Pour utiliser le mélange de textures, votre application doit d’abord case activée si le matériel de l’utilisateur le prend en charge.

Étapes de texture et cascade de fusion de textures

Direct3D prend en charge la fusion de plusieurs textures en une seule passe via l’utilisation d’étapes de texture. Une étape de texture prend deux arguments et effectue une opération de fusion sur ceux-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 la modulation simple ou l’ajout de la couleur ou des composants 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 et l’alpha arbitraires, ou le résultat de l’étape de texture précédente.

Note Direct3D distingue le mélange de couleurs du 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ées par plusieurs étapes de fusion définit un langage de fusion simple basé sur les flux. Les résultats d’une phase descendent vers une autre étape, de cette étape à la suivante, et ainsi de suite. Le concept de flux de résultats d’une étape à l’autre pour éventuellement être rastérisés sur un polygone est souvent appelé cascade de fusion de textures. Le diagramme suivant montre comment des é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 autorise jusqu’à huit phases de fusion, bien que vous devez toujours case activée 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 se trouve à l’index 0, la seconde à 1, et ainsi de suite, jusqu’à l’index 7. Le système fusionne les étapes dans l’ordre croissant de l’index.

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

Si votre application varie le nombre d’étapes qu’elle utilise pour différentes situations (par exemple, quatre phases 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 phase inutilisée, puis 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) sur un état désactivé.

Dans cette section

Rubrique Description

Étapes de fusion

Une étape 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 multipasse

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 multipass. Une utilisation classique pour le mélange de textures multipass consiste à émuler les effets des modèles d’éclairage et d’ombrage complexes en appliquant plusieurs couleurs à partir de plusieurs textures différentes. L’une de ces applications est appelée mappage de lumière.

 

Textures