Shaders
Het fenomeen unified shaders is een integraal onderdeel van DirectX 10, de nieuwste versie van de DirectX API die deel uit maakt van Windows Vista. We moeten even terug in de tijd om de werking en het nut van de nieuwe technologie te begrijpen.
Tot aan 2001 werkten alle 3D videokaarten volgens een vast stramien en konden ze slechts een beperkt aantal vaste 3D effecten weergeven. Met de komst van DirectX 8 en de daarvoor geschikt GeForce 3 videokaart kwam daar verandering in. DirectX 8 stelde ontwikkelaars van 3D games in staat om zélf unieke 3D effecten te programmeren. De daarvoor benodigde berekeningen werden uitgevoerd op de videokaart. Omdat de 3D-chip sindsdien een stuk flexibeler is, spreken we sinds de GeForce 3 dan ook over GPU's ofwel Graphics Processing Units.
Om zelf 3D-effecten te kunnen programmeren werden zogenaamde vertex shader units en pixel shaders units in het leven geroepen. Een vertex shader effect kan invloed uitoefenen op de positie van de hoekpunten (vertices) van de driehoeken waaruit alle objecten binnen een 3D game bestaan. Met pixel shader algoritmes kun je effecten tot op de pixel nauwkeurig uitvoeren en zodoende met eigen effecten de uiteindelijke inkleuring van alle pixels op het scherm beïnvloeden.
In DirectX 8 waren de mogelijkheden voor vertex en pixel shaders nog erg beperkt: algoritmes mochten slechts een beperkt aantal instructies bevatten en er waren veel restricties op het gebied van complexiteit. DirectX 9 en later DirectX 9.0 waren flinke verbeteringen, waarbij de door gamedevelopers ontwikkelde effecten vele malen complexer mochten zijn. Dankzij de nieuwe mogelijkheden zien gamers er anno 2006 vele malen mooier en realistischer uit dan ooit te voren.

Dankzij de opdeling in vertex en pixel shaders wordt een huidige GPU zelden tot nooit volledig gebruikt.
Binnen conventionele GPU worden de vertex en pixel shader programma's uitgevoerd door verschillende onderdelen van de chip. Zo bevat een GeForce 7900 GTX chip 8 vertex shader units en 24 pixel shader units. Deze verdeling zorgt ervoor dat de de GPU helaas zelden tot nooit volledig optimaal gebruikt kan worden. Sommige scènes van 3D games kunnen immers veel meer beslag leggen op de de vertex shaders, waardoor er niet voldoende werk is voor alle pixel shaders, terwijl in andere scènes juist alle pixel shader units op volle toeren draaien en de vertex shaders staan duimen te draaien. Het met DirectX 10 geïntroduceerde concept van unified shaders lost dit op.
Zoals de naam al aangeeft is een unified shader een multifunctionele rekeneenheid binnen de GPU die geschikt is voor allerlei soorten berekenen. Een unified shader kan zich zodoende voordoen als vertex shader, als pixel shader, maar kan zoals we verderop zullen zien ook voor andere zaken worden ingezet. Het mooie is dat alle in de GPU aanwezige unified shaders volledig flexibel kunnen worden ingezet: wanneer er in een bepaalde scène veel pixel berekeningen nodig zijn zal het merendeel van de unified shaders dan ook pixel shader berekeningen voor zijn rekening gaan nemen.
De GeForce 8800 is volledig opgebouwd volgens dergelijke unified shaders en nVidia is zeker niet te zuinig: in de GTX-uitvoering vinden er maar liefst 128 stuks!

De G80 chips is opgebouwd uit 128 unified shaders
2 besproken producten
| Vergelijk | Product | Prijs | |
|---|---|---|---|
|
Nvidia GeForce 8800 GTX
|
Niet verkrijgbaar | |
|
Point of View GeForce 8800 GTX
|
Niet verkrijgbaar |