Unified shader model er et udtryk , der bruges til at beskrive to ens, men samtidig adskilte begreber: en unified shader-arkitektur ( engelsk Unified Shading Architecture ), som beskriver hardwareniveauet, og en unified shader-model , som beskriver softwarelaget. .
Unified Shader Model, kendt i Direct3D 10 som Shader Model 4.0, bruger et ensartet (lignende) sæt kommandoer for alle shader- typer [1] . Shaders af alle typer har meget ens egenskaber - de kan "læse" teksturer , databuffere og udføre det samme sæt aritmetiske instruktioner.
Instruktionssættet er dog ikke helt det samme i alle shader-typer; for eksempel kan kun pixelskyggeren læse teksturer med implicitte koordinatgradienter; og kun geometriskyggeren kan gengive yderligere primitiver, og så videre [1] .
Tidlige shader-modeller (Shader Model 1.x) brugte meget forskellige instruktionssæt til vertex og pixel shaders, hvor vertex shaders havde et meget mere fleksibelt instruktionssæt. Senere shader-modeller (2.x og 3.0) reducerede i stigende grad forskellene, hvilket førte til en samlet shader-model.
Når en GPU understøtter en unified shader-model, giver det mening at designe dens computerenheder, så enhver af disse enheder kan udføre enhver form for shader. Når GPU-beregningsenhederne er "unified", det vil sige i stand til at udføre enhver form for shader-program, kaldes dette en "Unified Shader Architecture". Oftest er sådanne GPU'er sammensat af en række computerenheder og dynamiske planlægnings-/belastningsbalanceringsenheder for at fordele udførelse af shader-program på tværs af alle computerenheder.
Hardware er ikke påkrævet for at have en unified shader-arkitektur for at understøtte en unified shader-model og omvendt. Direct3D 10-kompatible GPU'er kan stadig have dedikerede geometri-, vertex- og pixelprocessorer. Teknologisk ældre GPU'er, der understøtter Shader Model 3.0, kan også delvist udføre Unified Shader Model, som det ses med Xenos GPU'en til Xbox 360 -spillekonsollen .
Den forenede shader-arkitektur tillader mere fleksibel brug af GPU-ressourcer [2] . For eksempel kan den forenede shader-arkitektur bruge alle GPU-enheder til at beregne vertex- og geometrishaders under forhold med simulering af tunge niveauer. Og omvendt; når geometrien ikke er kompleks, men mange komplekse pixeleffekter simuleres, såsom Parallax occlusion mapping , partikelsystem og så videre, kan alle beregningsenheder dirigeres til at udføre pixel shaders.
Den forenede shader-arkitektur understøttes af GeForce 8 , Radeon R600 , S3 Graphics Chrome 400 GPU'er, Intel GMA X3000, Xbox 360's GPU , Qualcomm Adreno 200-serien , Mali Midgard, PowerVR SGX GPU'er og mere.