Mehrstufige Texturvermischung

Direct3D-Anwendungen können zahlreiche Spezialeffekte erzielen, indem sie im Verlauf mehrerer Renderingdurchläufe verschiedene Texturen auf ein Primitive anwenden. Der gebräuchliche Begriff dafür ist multipass texture blending. Eine typische Verwendung für die Multipass-Texturmischung besteht darin, die Auswirkungen komplexer Beleuchtungs- und Schattierungsmodelle zu emulieren, indem mehrere Farben aus verschiedenen Texturen angewendet werden. Eine solche Anwendung heißt Lichtmapping. Siehe Lichtzuordnung mit Texturen.

Hinweis Einige Geräte sind in der Lage, mehrere Texturen in einem einzigen Durchgang auf Primitive anzuwenden. Weitere Informationen finden Sie unter Texturmischung.

 

Wenn die Hardware des Benutzers das Mischen mehrerer Texturen nicht unterstützt, kann Ihre Anwendung multipass texture blending verwenden, um die gleichen visuellen Effekte zu erzielen. Die Anwendung kann jedoch nicht die Bildfrequenzen aufrechterhalten, die bei verwendung mehrerer Texturmischungen möglich sind.

So führen Sie die Multipasstexturmischung 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 Texturmischung mit mehreren Pässen.
  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 mischt die neuen Texturen mit den vorhandenen Pixeln auf der Renderzieloberfläche gemäß diesen Parametern.
  6. Wiederholen Sie die Schritte 3, 4 und 5 mit so vielen Texturen wie nötig.

Texturvermischung