Pixel shading
Da Wikipedia, l'enciclopedia libera.
Il pixel shader (o fragment shader secondo la nomenclatura OpenGL) nel campo della grafica per computer, è uno shader, ovvero una sequenza di istruzioni, un breve programma, che viene eseguito da una Graphics Processing Unit per ciascun pixel da elaborare.
L'uso dei pixel shader consente di applicare effetti come bump mapping, ombre, esplosioni, effetti di diffrazione, rifrazione e la simulazione dell'effetto fresnel (implementato nel videogioco Half-Life 2) permettendo una migliore simulazione degli effetti dell'illuminazione e un aspetto più realistico di superfici dalle proprietà ottiche particolari.
La potenza che risiede nell'uso dei pixel shader nelle moderne schede grafiche è dovuta alla possibilità di sfruttare un'elaborazione parallela grazie alle numerose pipeline presenti nella GPU. Una volta definita la sequenza di istruzioni, questa verrà eseguita in maniera parallela su più fragment, ottimizzando così il tempo di calcolo.
Le più recenti schede grafiche hanno abbandonato la tradizionale suddivisione fra unità pixel shader e unità vertex shader in favore dei cosiddetti stream processor. Questo sistema permette di rendere più flessibile la straordinaria potenza di calcolo di queste nuove schede: gli stream processor sono dei processori in grado di elaborare indifferentemente sia istruzioni PS che VS, in questo modo la GPU elabora a "pieno carico", senza lasciare più, ad esempio, le unità VS ferme mentre quelle PS arrancano sotto il peso dei calcoli.