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


Raszterizer-rendezésű nézetek

A Raszterizer által rendezett nézetek (ROV-k) lehetővé teszik, hogy a képpontárnyékoló kód a rendezetlen hozzáférési nézet (UAV) kötéseit deklarációval jelölje meg, amely módosítja az UAV-k grafikus folyamat eredményeinek sorrendjére vonatkozó normál követelményeket. Ez lehetővé teszi a rendezésfüggetlen átláthatósági (OIT) algoritmusok működését, ami sokkal jobb renderelési eredményeket eredményez, ha több transzparens objektum összhangban van egymással egy nézetben.

Áttekintés

Előfordulhat, hogy a szabványos grafikus folyamatok nem megfelelően alkotnak össze több átlátszóságot tartalmazó textúrát. Az olyan objektumok, mint a drótkerítések, a füst, a tűz, a növényzet és a színes üveg átlátszóság használatával érik el a kívánt hatást. Problémák akkor merülnek fel, ha több átlátszóságot tartalmazó anyag egymással összhangban van (például egy növényzetet tartalmazó üvegépület előtt lévő kerítés előtt lévő füst). A Raszterizer által rendezett nézetek (ROV-k) lehetővé teszik, hogy a mögöttes OIT-algoritmusok a hardver funkcióit használva megpróbálják helyesen feloldani az átláthatósági sorrendet. Az átlátszóságot a képpontárnyékoló kezeli.

A Raszterizer által rendezett nézetek (ROV-k) lehetővé teszik, hogy a képpontárnyékoló kód az UAV-kötéseket deklarációval jelölje meg, amely módosítja az UAV-k grafikus folyamat eredményeinek sorrendjére vonatkozó normál követelményeket.

A ROV-k garantálják az UAV-hozzáférések sorrendjét az átfedésben lévő képpontárnyékoló-meghívások párjához. Ebben az esetben az "átfedés" azt jelenti, hogy a hívásokat ugyanazzal a rajzhívással hozza létre, és ugyanazt a képpontkoordinátát használja a képpontfrekvencia-végrehajtási módban, és ugyanazt a képpont- és mintakoordinátát mintafrekvenciás módban.

A képpontárnyékoló-meghívások egymást átfedő ROV-hozzáféréseinek végrehajtásának sorrendje megegyezik a geometria elküldésének sorrendjével. Ez azt jelenti, hogy az egymást átfedő képpontárnyékoló-meghívások esetében a képpontárnyékoló meghívása által végrehajtott ROV-írásoknak elérhetőnek kell lenniük ahhoz, hogy egy későbbi hívással beolvassák, és ne befolyásolják az előző hívás által végzett olvasásokat. A képpontárnyékoló meghívása által végzett ROV-olvasásoknak tükrözniük kell egy korábbi hívás írásait, és nem tükrözniük kell az írásokat egy későbbi meghívással. Ez azért fontos az UUAV-k számára, mert explicit módon ki vannak hagyva a kimeneti-invariancia-garanciákból, amelyeket általában a grafikus folyamat eredményeinek rögzített sorrendje állít be.

Megvalósítás részletei

A Raszterizer-rendezésű nézetek (ROV-k) a következő új, magas szintű árnyékolónyelvi (HLSL) objektumokkal vannak deklarálva, és csak a képpontárnyékoló számára érhetők el:

  • RasterizerOrderedBuffer
  • RasterizerOrderedByteAddressBuffer
  • RasterizerOrderedStructuredBuffer
  • RasterizerOrderedTexture1D
  • RasterizerOrderedTexture1DArray
  • RasterizerOrderedTexture2D
  • RasterizerOrderedTexture2DArray
  • RasterizerOrderedTexture3D

Ezeket az objektumokat ugyanúgy használja, mint más UAV-objektumokat (például RWBuffer stb.).

API-összefoglalás

A ROV-k csak HLSL-konstrukciók, amelyek eltérő viselkedési szemantikát alkalmaznak az UAV-kra. Az UAV-k szempontjából releváns összes API a ROV-k szempontjából is releváns. Vegye figyelembe, hogy a következő metódus, struktúrák és segédosztály hivatkozik a raszterizátorra: