Stap 3: De videokaart aan het werk met…
Dit is het punt waarop de videokaart in werking treedt, en dat wij tot voor kort kenden als transformation en lighting (kortweg T&L) ofwel het omzetten van de coördinaten van de 3D-wereld naar schermcoördinaten, en het berekenen van welke delen van de scène wel en niet belicht worden.
Voordat we hier dieper op ingaan, weer een stukje geschiedenis. Tot de introductie van de Geforce256 in de herfst van 1999 was de processor nog verantwoordelijk voor transformation en lighting: de rol van de grafische kaart begon tot dat moment pas bij de volgende stap (triangle setup). De eerste versie van wat we vanaf hier T&L zullen noemen werd voorgeschreven in de DirectX 7 specificatie van Microsoft en heette hardware T&L. Dit omdat een beperkt aantal ‘standaardberekeningen’ op het gebied van transformatie en belichting waren ‘ingebakken’ in de chip. Zolang programmeurs gebruik maakten van deze voorgeprogrammeerde routines, kon deze eerste generatie ‘T&L-kaarten’ razendsnel de juiste berekeningen uitvoeren.
Met de introductie van DirectX 8 werd de mogelijkheid gecreëerd voor programmeerbare T&L. In plaats van voorgeprogrammeerde routines konden programmeurs zelf kleine programmaatjes schrijven die direct de T&L functies van de videokaart aanroepen. Deze programma’s worden vertex shaders genoemd: verwarrend genoeg wordt deze term ook vaak gebruikt wordt voor het onderdeel van de videokaart dat deze bewerkingen uitvoert. Ten einde deze verwarring te voorkomen noemen wij dit onderdeel hier de vertex engines – in meervoud, want feitelijk is sprake van meerdere execution units ofwel eenheden die berekeningen uitvoeren.
Vanaf de courante DirectX 9 standaard is de grootte die vertex shader programma’s kunnen hebben aanzienlijk toegenomen, evenals de complexiteit van de berekeningen die ermee kunnen worden uitgevoerd. Met andere woorden, ‘T&L’ dekt de lading van dit deel van het proces niet meer en om deze reden refereren we tegenwoordig aan dit deel van de pipeline als ‘vertex berekeningen’. In dit artikel behandelen we eerst de DirectX 7 benadering van de pipeline, in een volgend deel gaan we dieper in op de mogelijkheden die worden geboden door DirectX 8 en 9.
3D-chip, GPU en VPU
Tegelijk met de introductie van T&L in de videokaart veranderde de naam van de 3D-chip in GPU, ofwel Graphics Processing Unit. Deze benaming werd geïntroduceerd door nVidia, het bedrijf dat de eerste videokaart met hardware T&L (de genoemde Geforce256) op de markt bracht, met als verklaring dat nu de grafische chip qua rekenkracht de processor begon te evenaren deze term meer van toepassing was. DirectX 9 maakte het mogelijk om de GPU direct bewerkingen uit te laten voeren op videobeelden, aanleiding voor ATI om de door dit bedrijf als eerste op de markt gebrachte 3D-chip en -kaart die dit ondersteunde (de Radeon 9700 Pro) een VPU te noemen: Visual Processing Unit. De tijd zal leren of ook deze benaming wordt overgenomen door fabrikanten en consumenten.