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


Multipass Texture Blending (Direct3D 9)

A Direct3D-alkalmazások számos különleges hatást érhetnek el azáltal, hogy különböző textúrákat alkalmaznak egy primitívre több renderelési áthaladás során. Ennek gyakori kifejezése a multipass textúra keverése. A multipass textúra keverésének tipikus felhasználási célja az összetett világítási és árnyékolási modellek hatásainak emulálása több különböző anyagminta több színének alkalmazásával. Az egyik ilyen alkalmazást könnyű leképezésnek nevezzük. További információ: Világos leképezés textúrákkal (Direct3D 9).

Jegyzet

Egyes eszközök képesek több textúrát alkalmazni a primitívekre egyetlen lépésben. További információ: Textúrakeverés (Direct3D 9).

 

Ha a felhasználó hardvere nem támogatja a több anyagminta-keverést, az alkalmazás többutas textúra-keverést használhat ugyanazon vizuális effektusok eléréséhez. Az alkalmazás azonban nem tudja fenntartani a keretsebességeket, amelyek több textúra keverése esetén lehetségesek.

Multipass textúra keverése C/C++ alkalmazásban.

  1. Állítsa be a textúra 0. szakaszát a IDirect3DDevice9::SetTexture metódus meghívásával.
  2. Válassza ki a kívánt szín- és alfa-keverési argumentumokat és műveleteket az IDirect3DDevice9::SetTextureStageState metódussal. Az alapértelmezett beállítások jól illeszkednek a többirányú textúra keveréséhez.
  3. Renderelje a megfelelő objektumokat a jelenetben.
  4. Állítsa be a következő anyagmintát a 0. textúraszakaszban.
  5. Állítsa be a D3DRS_SRCBLEND és D3DRS_DESTBLEND renderelési állapotokat, hogy szükség szerint módosítsa a forrás- és célkeverési tényezőket. A rendszer ezeknek a paramétereknek megfelelően egyesíti az új textúrákat a renderelési célfelület meglévő képpontjaival.
  6. Ismételje meg a 3., 4. és 5. lépést annyi anyagmintával, amennyi szükséges.

textúra keverési