Freigeben über


Mehrstufige Texturvermischung

Direct3D-Anwendungen können zahlreiche Spezialeffekte erzielen, indem verschiedene Texturen über mehrere Renderingdurchläufe auf einen Grundtyp angewendet werden. Der häufige Begriff hierfür ist die Multipass-Texturvermischung. Eine typische Verwendung für die Multipass-Texturmischung besteht darin, die Effekte komplexer Beleuchtungs- und Schattierungsmodelle zu emulieren, indem mehrere Farben aus verschiedenen Texturen angewendet werden. Eine solche Anwendung wird als Lichtzuordnung bezeichnet. Siehe Lichtzuordnung mit Texturen.

Beachten Sie, dass einige Geräte mehrere Texturen auf Grundtypen in einem einzigen Durchlauf anwenden können. Siehe Texturmischung.

 

Wenn die Hardware des Benutzers nicht mehrere Texturmischungen unterstützt, kann Ihre Anwendung die Multipass-Texturmischung verwenden, um die gleichen visuellen Effekte zu erzielen. Die Anwendung kann jedoch nicht die Frameraten unterstützen, die bei Verwendung mehrerer Texturmischungen möglich sind.

So führen Sie die Multipass-Texturmischung in einer C/C++-Anwendung aus:

  1. Legen Sie eine Textur in Texturstufe 0 fest.
  2. Wählen Sie die gewünschten Farb- und Alphamischungsargumente und -vorgänge aus. Die Standardeinstellungen eignen sich gut für die Multipass-Texturvermischung.
  3. Rendern Sie die entsprechenden Objekte in der Szene.
  4. Legen Sie die nächste Textur in Texturstufe 0 fest.
  5. Legen Sie die Renderzustände fest, um die Quell- und Zielmischungsfaktoren nach Bedarf anzupassen. Das System blendet die neuen Texturen mit den vorhandenen Pixeln in der Renderzieloberfläche entsprechend diesen Parametern ein.
  6. Wiederholen Sie die Schritte 3, 4 und 5 mit beliebig vielen Texturen.

Texturmischung