Ködszín (Direct3D 9)
A képpontok és csúcsok ködének ködszíne a D3DRS_FOGCOLOR renderelési állapoton keresztül van beállítva. A renderelési állapot értékei bármilyen RGB-színt tartalmazhatnak, amely RGBA-színként van megadva. A rendszer figyelmen kívül hagyja az alfa összetevőt.
Az alábbi C++ példa fehérre állítja a köd színét.
/* 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;
A rögzített függvényfolyamat és a programozható folyamat eltérően alkalmazza a ködet.
- Ha az illesztőprogram támogatja a D3DPMISCCAPS_FOGANDSPECULARALPHA:
- Ha a rögzített függvényfolyamatot használja, és D3DRS_FOGCOLOR van beállítva, akkor a v1.w (a képpontárnyékolóban) egyenlő a köd renderállapotában beállított értékkel.
- Ha a programozható folyamatot használja, akkor a v1.w (a képpontárnyékolóban) értéke 0, még akkor is, ha az oD1.w explicit módon van megírva csúcspont-árnyékolóban.
- Ha az illesztőprogram nem támogatja a D3DPMISCCAPS_FOGANDSPECULARALPHA:
- Ha a rögzített függvényfolyamatot használja, és D3DRS_FOGCOLOR van beállítva, akkor a v1.w (a képpontárnyékolóban) egyenlő a köd renderállapotában beállított értékkel.
- Ha az oFog kifejezetten csúcsos árnyékolóban van megírva, akkor a v1.w (a képpontárnyékolóban) egyenlő az oFog értékkel, 0 és 1 közé szorítva.
- Ha a fenti két eset közül egyik sem érvényes, akkor a v1.w (a képpontárnyékolóban) értéke 0, még akkor is, ha az oD1.w explicit módon egy csúcspont-árnyékolóban van megírva.
További információ: D3DPMISCCAPS.
Kapcsolódó témakörök