Enhetlig skyggemodell - Unified shader model

Den enhetlige skyggemodellen bruker de samme maskinvareressursene for både toppunkt- og fragmentbehandling.

I feltet av 3D datagrafikk , en enhetlig skyggeleggings modell (kjent i Direct3D 10 som " Shader Model 4.0 ") refererer til en form av skyggelegger maskinvare i et grafisk prosesseringsenhet (GPU) hvor alle de skygge trinn i gjengivelsen rørledning ( geometri, toppunkt, piksel, etc.) har samme evner. De kan alle lese teksturer og buffere, og de bruker instruksjonssett som er nesten identiske.

Historie

Tidligere GPUer inkluderte generelt to typer skyggemaskinvare, med toppunktskyggene som hadde betydelig flere instruksjoner enn de enklere pikselskyggene . Dette senket kostnadene for implementering av GPU som helhet, og tillot flere skyggelegger totalt på en enkelt enhet. Dette var på bekostning av å gjøre systemet mindre fleksibelt, og noen ganger la det ene settet i skyggen være inaktiv hvis arbeidsmengden brukte den ene mer enn den andre. Da forbedringene i fabrikasjonen fortsatte, ble dette skillet mindre nyttig. ATI Technologies introduserte en enhetlig arkitektur på maskinvaren de utviklet for Xbox 360 . Nvidia fulgte raskt med sin Tesla- design. AMD introduserte en enhetlig skygge i kortform to år senere i TeraScale- linjen. Konseptet har vært universelt siden den gang.

Tidlige skyggeabstraksjoner (for eksempel Shader Model 1.x) brukte veldig forskjellige instruksjonssett for toppunkt- og pikselskyggere, med toppunktskyggere som hadde mye mer fleksibelt instruksjonssett. Senere skyggemodeller (som Shader Model 2.x og 3.0) reduserte forskjellene og nærmet seg enhetlig skyggemodell. Selv i Unified-modellen kan det hende at instruksjonssettet ikke er helt likt mellom forskjellige skyggetyper; forskjellige skyggetrinn kan ha noen få forskjeller. Fragment / pixel shaders kan beregne implisitte teksturkoordinatgradienter, mens geometry shaders kan avgi gjengivende primitiver.

Enhetlig skyggearkitektur

Unified skyggearkitektur (eller enhetlig skyggearkitektur ) er en maskinvaredesign der alle skyggebehandlingsenheter til et stykke grafikkmaskinvare er i stand til å håndtere alle typer skyggearbeidsoppgaver. Ofte består Unified Shading Architecture av en rekke databehandlingsenheter og en eller annen form for dynamisk planleggings- / lastbalanseringssystem som sikrer at alle beregningsenhetene fortsetter å fungere så ofte som mulig.

Enhetlig skyggearkitektur tillater mer fleksibel bruk av maskinvaren for grafikkgjengivelse. For eksempel, i en situasjon med en tung belastning på geometrien, kan systemet tildele de fleste beregningsenheter til å kjøre toppunkt- og geometriskugger. I tilfeller med mindre toppunktbelastning og stor pikselbelastning, kan flere databehandlingsenheter tildeles til å kjøre piksler.

Mens enhetlig skyggearkitekturhardware og enhetlig skyggemodellprogrammeringsgrensesnitt ikke er et krav for hverandre, er en enhetlig arkitektur mest fornuftig når man designer hardware beregnet på å støtte en API som tilbyr en enhetlig skyggemodell.

OpenGL 3.3 (som tilbyr en enhetlig skyggemodell) kan fortsatt implementeres på maskinvare som ikke har enhetlig skyggearkitektur. Tilsvarende kan maskinvare som støttet ikke-enhetlig skyggemodell-API-er baseres på en enhetlig skyggearkitektur, slik det er for eksempel med Xenos- grafikkbrikke i Xbox 360 .

Den enhetlige skyggearkitekturen ble introdusert med Nvidia GeForce 8-serien , ATI Radeon HD 2000 , S3 Chrome 400 , Intel GMA X3000-serien, Xbox 360s GPU , Qualcomm Adreno 200-serien , Mali Midgard, PowerVR SGX GPUer og brukes i alle påfølgende serier.

Nvidia

ATI / AMD

Referanser