Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Nebelfarbe für Pixel- und Scheitelpunkt-Nebel wird durch den D3DRS_FOGCOLOR Renderzustand festgelegt. Die Renderzustandswerte können eine beliebige RGB-Farbe sein, die als RGBA-Farbe angegeben wird. Die Alphakomponente wird ignoriert.
Im folgenden C++-Beispiel wird die Nebelfarbe auf Weiß festgelegt.
/* For this example, the d3dDevice variable is
* a valid pointer to an IDirect3DDevice9 interface.
*/
HRESULT hr;
hr = d3dDevice->SetRenderState(
D3DRS_FOGCOLOR,
0x00FFFFFF); // Highest 8 bits are not used.
if(FAILED(hr))
return hr;
Nebel wird von der pipeline mit fester Funktion und der programmierbaren Pipeline anders angewendet.
- Wenn der Treiber D3DPMISCCAPS_FOGANDSPECULARALPHA unterstützt:
- Wenn die Pipeline für feste Funktionen verwendet wird und D3DRS_FOGCOLOR festgelegt ist, entspricht v1.w (im Pixelshader) dem Wert, der im Nebelrenderstate festgelegt ist.
- Wenn die programmierbare Pipeline verwendet wird, entspricht v1.w (im Pixelshader) 0, auch wenn oD1.w explizit in einen Vertex-Shader geschrieben wird.
- Wenn der Treiber D3DPMISCCAPS_FOGANDSPECULARALPHA nicht unterstützt:
- Wenn die Pipeline für feste Funktionen verwendet wird und D3DRS_FOGCOLOR festgelegt wird, ist v1.w (im Pixelshader) gleich dem Wert, der im Nebelrenderationswert festgelegt ist.
- Wenn oFog explizit in einen Vertex-Shader geschrieben wird, entspricht v1.w (im Pixelshader) oFog, geklammert zwischen 0 und 1.
- Wenn keine der obigen beiden Fälle zutrifft, entspricht v1.w (im Pixelshader) 0, auch wenn oD1.w explizit in einen Vertex-Shader geschrieben wird.
Weitere Informationen finden Sie unter D3DPMISCCAPS.
Verwandte Themen