Partager via


Fusion de textures multipass (Direct3D 9)

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. Pour plus d’informations, consultez Mappage de lumière avec des textures (Direct3D 9).

Note

Certains appareils peuvent appliquer plusieurs textures à des primitives en une seule passe. Pour plus d’informations, consultez fusion de textures (Direct3D 9).

 

Si le matériel de l’utilisateur ne prend pas en charge plusieurs fusions de textures, votre application peut utiliser le mélange de textures multipass pour obtenir les mêmes effets visuels. Toutefois, l’application ne peut pas maintenir les fréquences d’images possibles lors de l’utilisation de plusieurs fusions de textures.

Pour effectuer un mélange de texture multipass dans une application C/C++.

  1. Définissez une texture à l’étape de texture 0 en appelant la méthode IDirect3DDevice9 ::SetTexture.
  2. Sélectionnez les arguments et opérations de fusion alpha et de couleur souhaités avec la méthode IDirect3DDevice9 ::SetTextureStageState. Les paramètres par défaut conviennent parfaitement à la fusion de textures multipasses.
  3. Affichez les objets appropriés dans la scène.
  4. Définissez la texture suivante à l’étape de texture 0.
  5. Définissez les états de rendu D3DRS_SRCBLEND et D3DRS_DESTBLEND pour ajuster les facteurs de fusion source et de destination en fonction des besoins. Le système fusionne les nouvelles textures avec les pixels existants dans la surface cible de rendu en fonction de ces paramètres.
  6. Répétez les étapes 3, 4 et 5 avec autant de textures que nécessaire.

de fusion de textures