Az Unified shader modell két hasonló, de ugyanakkor különálló fogalom leírására szolgál: egy egységes árnyékoló architektúra ( angolul Unified Shading Architecture ), amely a hardver szintjét írja le, és egy egységes árnyékoló modell , amely a szoftverréteget írja le. .
Az Unified Shader Model, amelyet a Direct3D 10 Shader Model 4.0 néven ismer, konzisztens (hasonló) parancskészletet használ minden shadertípushoz [1] . Minden típusú árnyékoló nagyon hasonló képességekkel rendelkezik - képesek "olvasni" a textúrákat , az adatpuffereket és végrehajtani ugyanazt az aritmetikai utasításkészletet.
Az utasításkészlet azonban nem teljesen egyforma minden shader típusban; például csak a pixel shader képes beolvasni az implicit koordináta gradiensekkel rendelkező textúrákat; és csak a geometria árnyékoló tud további primitíveket renderelni, és így tovább [1] .
A korai shader modellek (Shader Model 1.x) nagyon eltérő utasításkészleteket használtak a vertex és pixel shaderekhez, ahol a vertex shaderek sokkal rugalmasabb utasításkészlettel rendelkeztek. A későbbi shader modellek (2.x és 3.0) egyre inkább csökkentették a különbségeket, ami egy egységes shader modellhez vezetett.
Ha egy GPU támogatja az egységes árnyékoló modellt, akkor célszerű számítási egységeit úgy megtervezni, hogy ezek bármelyike bármilyen típusú shadert végrehajthasson. Ha a GPU számítási egységek „egységesek”, azaz bármilyen típusú shader programot képesek végrehajtani, ezt „Unified Shader Architecture”-nak nevezik. Az ilyen GPU-k leggyakrabban számítási egységek tömbjéből és dinamikus ütemező/terheléselosztási egységekből állnak, hogy a shader program végrehajtását elosztják az összes számítási egység között.
A hardvernek nem szükséges egységes árnyékoló-architektúrával rendelkeznie az egységes árnyékoló modell támogatásához, és fordítva. A Direct3D 10-re képes GPU-k továbbra is rendelkezhetnek dedikált geometria-, csúcs- és pixelprocesszorokkal. A Shader Model 3.0-t támogató technológiailag régebbi GPU-k részben végrehajthatják a Unified Shader Modelt is, amint az Xbox 360 játékkonzolhoz készült Xenos GPU-nál látható .
Az egyesített shader architektúra a GPU-erőforrások rugalmasabb felhasználását teszi lehetővé [2] . Például erős szintű geometria-szimuláció esetén az egységes árnyékoló architektúra az összes GPU egységet használhatja a csúcs- és geometria-shaderek kiszámításához. És fordítva; Ha a geometria nem bonyolult, de sok összetett pixelhatást szimulálnak, mint például a Parallax okklúziós leképezés , a részecskerendszer és így tovább, akkor az összes számítási egység pixel shader végrehajtására irányítható.
Az egységes shader architektúrát a GeForce 8 , Radeon R600 , S3 Graphics Chrome 400 GPU-k támogatják, Intel GMA X3000, Xbox 360 GPU , Qualcomm Adreno 200 sorozat , Mali Midgard, PowerVR SGX GPU és még tovább.