Unified shader malli on termi , jota käytetään kuvaamaan kahta samanlaista, mutta samalla erillistä käsitettä: unified shader-arkkitehtuuri ( englanniksi Unified Shading Architecture ), joka kuvaa laitteistotasoa, ja yhtenäinen shader-malli , joka kuvaa ohjelmistokerrosta. .
Unified Shader Model, joka tunnetaan Direct3D 10 :ssä nimellä Shader Model 4.0, käyttää johdonmukaista (samanlaista) komentosarjaa kaikille varjostintyypeille [1] . Kaiken tyyppisillä varjostimilla on hyvin samankaltaiset ominaisuudet - ne voivat "lukea" tekstuureja , tietopuskureita ja suorittaa samat aritmeettiset käskyt.
Ohjesarja ei kuitenkaan ole täysin sama kaikissa Shader-tyypeissä; esimerkiksi vain pikselivarjostin voi lukea tekstuurit implisiittisillä koordinaattigradienteilla; ja vain geometrian varjostin voi hahmontaa lisäprimitiivejä ja niin edelleen [1] .
Varhaiset varjostimet (Shader Model 1.x) käyttivät hyvin erilaisia käskysarjoja vertex- ja pikselivarjostimille, joissa vertex-varjostimissa oli paljon joustavampi käskysarja. Myöhemmät Shader-mallit (2.x ja 3.0) vähensivät eroja yhä enemmän, mikä johti yhtenäiseen Shader-malliin.
Kun grafiikkasuoritin tukee yhtenäistä varjostusmallia, on järkevää suunnitella sen laskentayksiköt siten, että mikä tahansa näistä yksiköistä voi suorittaa minkä tahansa tyyppisen varjostimen. Kun GPU:n laskentayksiköt ovat "unified" eli pystyvät suorittamaan minkä tahansa tyyppisiä varjostusohjelmia, tätä kutsutaan "Unified Shader Architectureksi". Useimmiten tällaiset GPU:t koostuvat joukosta laskentayksiköitä ja dynaamisia ajoitus-/kuormituksentasausyksiköitä Shader-ohjelman suorittamisen jakamiseksi kaikille laskentayksiköille.
Laitteistolla ei vaadita yhtenäistä varjostusarkkitehtuuria yhtenäisen varjostusmallin tukemiseksi ja päinvastoin. Direct3D 10 -yhteensopivassa GPU:ssa voi silti olla omat geometria-, kärki- ja pikseliprosessorit. Teknologisesti vanhemmat GPU:t, jotka tukevat Shader Model 3.0:aa, voivat myös suorittaa Unified Shader Modelin osittain, kuten Xbox 360 -pelikonsolin Xenos -grafiikkasuorittimesta näkyy .
Unified Shader -arkkitehtuuri mahdollistaa GPU-resurssien joustavamman käytön [2] . Esimerkiksi olosuhteissa, joissa on raskaan tason geometrian simulointi, yhtenäinen varjostinarkkitehtuuri voi käyttää kaikkia GPU-yksiköitä vertex- ja geometriavarjostimien laskemiseen. Ja päinvastoin; kun geometria ei ole monimutkainen, mutta simuloidaan monia monimutkaisia pikselitehosteita, kuten Parallax okkluusiokartoitus , hiukkasjärjestelmä ja niin edelleen, kaikki laskentayksiköt voidaan ohjata suorittamaan pikselivarjostimia.
Unified shader -arkkitehtuuria tukevat GeForce 8 , Radeon R600 , S3 Graphics Chrome 400 GPU ., Intel GMA X3000, Xbox 360:n GPU , Qualcomm Adreno 200 -sarja , Mali Midgard, PowerVR SGX -grafiikkasuorittimet ja muut.