Kolor mgły (Direct3D 9)
Kolor mgły dla mgły pikseli i wierzchołka jest ustawiany przez stan renderowania D3DRS_FOGCOLOR. Wartości stanu renderowania mogą być dowolnym kolorem RGB określonym jako kolor RGBA. Składnik alfa jest ignorowany.
Poniższy przykład języka C++ ustawia kolor mgły na biały.
/* 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;
Mgła jest stosowana inaczej przez potok funkcji stałej i programowalny potok.
- Jeśli sterownik obsługuje D3DPMISCCAPS_FOGANDSPECULARALPHA:
- Jeśli jest używany potok funkcji stałej i D3DRS_FOGCOLOR jest ustawiony, v1.w (w cieniatorze pikseli) jest równa wartości ustawionej w ustawieniu renderowania mgły.
- Jeśli jest używany programowalny potok, wersja 1.w (w cieniowaniu pikseli) jest równa 0, nawet jeśli oD1.w jest jawnie zapisany w cieniowaniu wierzchołka.
- Jeśli sterownik nie obsługuje D3DPMISCCAPS_FOGANDSPECULARALPHA:
- Jeśli jest używany potok funkcji stałej, a D3DRS_FOGCOLOR jest ustawiona, wersja v1.w (w cieniatorze pikseli) jest równa wartości ustawionej w ustawieniu renderowania mgły.
- Jeśli oFog jest jawnie napisany w cieniowania wierzchołka, v1.w (w cieniatorze pikseli) równa się oFog, zaciskane z zakresu od 0 do 1.
- Jeśli żaden z powyższych dwóch przypadków nie ma zastosowania, wersja v1.w (w cieniatorze pikseli) jest równa 0, nawet jeśli oD1.w jest jawnie zapisany w cieniu wierzchołka.
Aby uzyskać więcej informacji, zobacz D3DPMISCCAPS.
Tematy pokrewne