Fokus på effekter
Milliarder af pixels i sekundet er ikke længere nok til at sælge et grafikkort. Høj hastighed er en god ting, men når man er kommet op på mere end 50-60 billeder i sekundet i høj opløsning, kan øjet alligevel ikke følge med længere. Blandt andet derfor er der en tendens til, at producenterne af grafikchips efterhånden er mere interesserede i at tilføje nye måder at skabe lækre 3D-effekter på.
Selvom konkurrencen skærpes, og der efterhånden kun er ATI og Nvidia tilbage på markedet for hurtige 3D-grafikchips til pc'er, findes der stadig en mængde forskellige grafikkort. Det ville være besværligt at være programmør, hvis hvert program skulle optimeres til alle grafikkort, og derfor er der udviklet grafikstandarder i form af såkaldte application programming interfaces (API), der er et softwarelag mellem hardware og 3D-program.
Frem for at skrive direkte til grafikkortene, kan man skrive til API'erne, der definerer de mange 3D-efffekter, der kan anvendes af programmøren.
De mest populære API'er er OpenGL og DirectX. Der udsendes løbende nye versioner af begge API'er med understøttelse af stadig flere funktioner. Dermed bliver det muligt at lave 3D-programmer, der er mere naturtro og detaljerede med nye metoder til at beklæde 3D-objekter med realistiske overflader, imponerende lyseffekter og troværdige refleksioner.
GeForce3's nfiniteFX
Et godt eksempel på helt nye muligheder for 3D-effekter er Nvidia GeForce3's nfiniteFX, der giver programmøren nye muligheder for at lave livagtige og troværdige overflader og bevægelser.
Godt nok er GeForce3 hurtigere end grafikchips som GeForce2 og ATI Radeon, men den nye chip er ikke tilstrækkelig overlegen i hastighed til at begrunde en udskiftning af pc'ens grafikkort. Alligevel er der gode argumenter for at investere i GeForce3-baserede grafikkort.
Ved at udnytte nfiniteFX, der trods det fjollede navn er en ret snedig nyskabelse, kan programmører bag applikationer, der benytter 3D-grafik, få bedre kontrol over grafikken. For første gang kan man nemlig programmere grafikchippen direkte. Målet er at skabe mere naturtro og livagtige objekter i tre dimensioner.
Der er to måder at programmere GeForce3: Pixel Shader og Vertex Shader. En pixel er det mindste billedpunkt, der findes på skærmen, og en Pixel Shader beregner effekter som lyssætning og farve til hver af disse punkter. Med programmerbar Pixel Shader kan man bedre styre de effekter, der skal påføres de enkelte pixels.
Den endnu vigtigere nyhed ved navn Vertex Shader kræver lidt mere forklaring. Et billede består at en mængde polygoner, typisk trekanter, og det er vinkelspidserne (engelsk: vertex) på disse polygoner, der behandles af grafikchippene. Til hver vinkelspids er der tilknyttet en række data, nemlig koordinaterne i det tredimensionale rum samt informationer om farver, overflader og lyseffekter.
Krav til programmøren
Fælles for hardware transformation og lyssætning (T&L), DirectX 8-effekter og udnyttelse af ting som nfiniteFX er, at de kun kan udnyttes, hvis programmøren implementerer dem i produkterne. Dermed også sagt, at ældre spil får ikke det mindste ud af de moderne grafikkorts understøttelse af de mange nye 3D-effekter.
Idet 3D-applikationer kan være undervejs i årevis, og udviklingen inden for grafikchip går stadig hurtigere, har programmørerne efterhånden fået svært ved at følge med.
Selvom T&L blev lanceret i forbindelse med den første generation af GeForce tilbage i august 1999, er det først for nylig, at det blev reglen frem for undtagelsen med spil, der understøtter faciliteten. Antallet af spil med T&L har kun lige rundet de 100.
Den hårde konkurrence på spilmarkedet betyder selvfølgelig, at producenterne bestræber sig på at skabe spil, der benytter flest muligt af de smarte 3D-effekter. Alligevel er den afgående generation af grafikkort ofte mere end nok til at udnytte spillene fuldt ud, og det kan måske give stof til eftertanke, næste gang man skal udskifte kortet.