Vad är en Pixel Shader?

En pixel shader är ett datorgrafikverktyg som gör det möjligt att skapa bildeffekter som ljus, textur, form och färg. Pixel shaders gör bilder mer realistiska genom att ta bort det datoriserade utseendet på dem. Med hjälp av ett pixel shader-program ser bilderna flerdimensionella och detaljerade ut, vilket gör att tittaren kan känna att de tittar under bildens yta. En pixel shader kan ge en kant till ett papper, lysa till ett dörrhandtag eller porer till mänsklig hud.

I grund och botten fungerar en pixelskuggning genom att omvandla en bild, pixel för pixel, till en annan distinkt bild. En pixel är ett individuellt element i en bild som innehåller information om bildens färg och ljusstyrka. Pixelskuggning är en mycket specialiserad process, eftersom varje pixel måste ändras individuellt. Ofta måste över en miljon pixlar adresseras per bildruta. Detaljen är det som gör att bilden ser så realistisk ut.

Program som utför denna uppgift beräknar bilderna pixel för pixel i en mycket komplex process. Efter att pixlarna har transformerats överförs bilden till en rambuffert för visning. En pixelshader innebär användning av en kod. Skrivet på ett datorspråk som kallas High Level Shade Language (HLSL), använder koden ett inmatningsvärde som returnerar färgen på pixlarna så att rambufferten tar emot den ursprungliga bilden.

Många pixelskuggningsprogram låter användaren styra detaljnivån i bilderna. Dessa program är designade för grafiska formgivare och fotografer och låter användare göra pass med textur och skuggning. Flera pass skapar en mer detaljerad bild. Utvecklare kan använda pixelshaders för att skapa de personliga effekter de önskar.

En pixel shader används ofta i digital fotografering, vilket innebär att redigera bilder. Pixelskuggaren tar emot en uppsättning instruktioner om en digital bild och genererar en utdatabild pixel för pixel, enligt instruktionerna. Ju fler dimensioner bilden innehåller, desto fler pass använder pixelskuggningen vanligtvis för att slutföra transformationen.

För att hantera pixelskuggning i digitala bilder har datorer ofta en inbyggd grafikprocessor (GPU). En GPU är en grafikprocessor som möjliggör snabb bearbetning av bilder. GPU:er är dock begränsade eftersom de inte stöder avancerade procedurer för att ändra textur. Komponenterna i en GPU kan bara hantera ett begränsat antal instruktioner för pixelskuggning. Därför används ofta specialiserade pixelskuggningsprogram.