Monocolore Light Karten (Direct3D 9)

Einige ältere 3D-Acceleratorboards unterstützen keine Texturmischung mit dem Alphawert des Zielpixels. Weitere Informationen finden Sie unter AlphaTexturmischung (Direct3D 9). Diese Adapter unterstützen in der Regel auch keine mehrfache Texturmischung. Wenn Ihre Anwendung auf einem Adapter wie diesem ausgeführt wird, kann sie multipass texture blending verwenden, um monocolore Lichtzuordnungen durchzuführen.

Um monocolore Lichtzuordnungen durchzuführen, speichert eine Anwendung die Beleuchtungsinformationen in den Alphadaten ihrer Lichtkartentexturen. Die Anwendung verwendet die Texturfilterfunktionen von Direct3D, um eine Zuordnung von jedem Pixel im Bild des Primitiven zu einem entsprechenden Texel in der Lichtkarte durchzuführen. Der Quellmischungsfaktor wird auf den Alphawert des entsprechenden Texels festgelegt.

Das folgende Beispiel veranschaulicht, wie eine Anwendung eine Textur als monocolore Lichtkarte verwenden kann:

// This example assumes that d3dDevice is a valid pointer to an
// IDirect3DDevice9 interface and that lptexLightMap is a valid
// pointer to a texture that contains monochrome light map data.

// Set the light map texture as the current texture.
d3dDevice->SetTexture(0, lptexLightMap);

// Set the color operation.
d3dDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);

// Set argument 1 to the color operation.
d3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1,
                                D3DTA_TEXTURE | D3DTA_ALPHAREPLICATE);

Da Anzeigeadapter, die das Alphablending des Ziels nicht unterstützen, in der Regel keine mehrfache Texturmischung unterstützen, wird in diesem Beispiel die Lichtkarte als erste Textur festgelegt, die auf allen 3D-Zugriffstastenkarten verfügbar ist. Der Beispielcode legt den Farbvorgang für die Mischungsphase der Textur fest, um die Texturdaten mit der vorhandenen Farbe des Primitiven zu mischen. Anschließend werden die erste Textur und die vorhandene Farbe des Primitivs als Eingabedaten ausgewählt.

Lichtzuordnung mit Texturen