Megosztás a következőn keresztül:


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.

  1. 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.
  2. 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.

ködtípusok