Pixel shader

En pikselskyggelegging ( PS) er et skyggeprogram , vanligvis utført i grafikkbehandlingsenheten. I OpenGL er det kjent som en fragment shader .

Funksjon

Funksjonen til en pikselskyggelegging er å tillate deg å utføre grafiske effekter med større presisjon; eller teknikker som enten ikke er mulig å utføre per toppunkt, eller som alternativt vil kreve et mesh med høy tetthet. For eksempel er det mulig å implementere Phong -skyggemodellen piksel for piksel for å oppnå skarpe speilrefleksjoner. For å emulere denne effekten uten en pikselskyggelegging, kan en toppunktskyggelegging brukes, men med et tett nett, noe som øker minnekravene til verten.

Andre effekter som normal mapping, bump-mapping , parallax mapping , krever per-piksel-behandling og det er her pikselskyggeren har åpnet for gigantiske muligheter.

Den brukes også til 2D-bildebehandling gjennom GPU.

Programmering

Pixel shaders er programmert på følgende språk: Assembler , Cg, GLSL (OpenGL), HLSL (DirectX).

Kompatibilitet

Maskinvare

Tabellen nedenfor viser et sammendrag av grafikkortene, som sammen med grafikkbrikken støtter DirectX-versjonen av pixel shader. Grafikkbrikker som generelt er fullt kompatible med hvilken versjon av pikselskyggelegging som starter med den tidligste (v 1.1 og utover).

(Produkter som ennå ikke er tilgjengelige er angitt i kursiv.)


PS versjon Direct3D- versjon 3DLabs TIL DEG Intel Matrox NVIDIA S3 grafikk ja XGI
1.0/1.1 8.0 - - - - GeForce 3-serien - Xabre-serien -
1.2 8,0a Wildcat VP - - - - - - -
1.3 8,0a - - - Parhelia-serien GeForce 4Ti/4200Go-serien - Mirage 2 -
1.4 8.1 - Radeon R200 (8500-9250) - - - - - Volari V3-serien (unntatt V3XT)
2.0 9,0 Wildcat Realizm Radeon R300 (9500-9800, X300-X600) Intel GMA 900, 950, 3000, 3100, 3150 - - DeltaChrome , GammaChrome , Chrome S2x-serien Mirage 3, Mirage 3+ Volari V3XT, Volari V5-serien, Volari V8-serien, Volari 8300, Volari XP10
2,0a 9,0a - - - - GeForce FX-serien - - -
2.0b 9.0b - Radeon R420 (X700-X850) - - - - - -
3.0 9,0c - Radeon R520 (X1300-X1950) Intel GMA X3000 - GeForce 6-serien , GeForce 7-serien - - -
4.0 10 - Radeon R600 (HD 2400-HD 2600 2900) Intel GMA X3100, X3500, X4500 - GeForce 8-serien , GeForce 9-serien , GeForce 200-serien , Quadro FX 1700 - Mirage 4 -
4.1 10.1 - Radeon R600 (HD 3xxx) , Radeon R700 (HD 4xxx) Intel GMA 500 - - Chrome 400-serien -
5.0 elleve - Radeon R800 (HD 5xxx) - GeForce 400-serien, GeForce 500-serien, GT100-serien - - -

Bruke teknikken [LOD detaljnivå][1].

Pixel/Fragment shader: Først av alt klargjør forskjellen mellom fragment og piksel. Fra Khronos-gruppen er den forpliktet til å differensiere hvilket fragment som er det som behandles siden det er flere relatert til samme piksel på skjermen. Terminologien etterfulgt av Microsoft og Nvidia er piksel, noe som kan føre til forvirring siden de ikke fungerer med skjermen, men med de for hver figur. I denne prosessoren kan det gjøres ulike transformasjoner, for eksempel endring