GPGPU kan vara slutet för DirectX och OpenGL

I 3D-grafikens barndom skedde all rendering med hjälp av vanlig mjukvara. I slutet av 90-talet tog istället grafikkortens hårdvara över med gränssnitt som DirectX, OpenGL och Glide. Nu förutspås mjukvarurenderarnas revansch.

Det första riktiga 3D-spelet som drog igång vågen på allvar var Id Softwares Quake. Grafiken i denna storsäljande titel renderades helt i mjukvara direkt på CPU. När 3Dfx lanserade 3D-acceleratorn Voodoo fick världen upp ögonen för hårdvaruaccelererad grafik. Med hjälp av ett specialbyggt grafikkort och ett tillhörande programmeringsgränssnitt (Glide) blev datorspelen vackrare än någonsin tidigare.

Tim Sweeney på Epic Games, utvecklarna av Unreal och tillhörande grafikmotor, förutspår att mjukvarurendering kommer tillbaka så snart som inom ett till två år. Dagens grafikkort har blivit så kraftfulla att de kan exekvera vanlig programkod. Därmed behövs inte längre specialanpassade och begränsande gränssnitt som DirectX eller OpenGL för att utnyttja grafikkortets hårdvara.

In the next generation we’ll write 100% of our rendering code in a real programming language – not DirectX, not OpenGL, but a language like C++ or CUDA. A real programming language unconstrained by weird API restrictions. Whether that runs on Nvidia hardware, Intel hardware or ATI hardware is really an independent question. You could potentially run it on any hardware that's capable of running general-purpose code efficiently

Istället för att använda DirectX eller något annat färdigt bibliotek börjar utvecklarna om från grunden och skriver egna rutiner för att visa 3D-grafik. Detta sker i ett vanligt språk som C eller C++. Redan idag är utvecklingen på god väg, då grafikkort med stöd för DirectX 10 är mer eller mindre fullt programmerbara.

Nvidia kallar sin kompilerare för CUDA, medan AMD har motsvarande funktionalitet i Stream SDK. Tekniken att låta grafikprocessorn utföra beräkningar som tidigare endast CPU klarade av har i sin tur döpts till GPGPU, vilket är kort för "General Purpose computing on Graphics Processing Units".

Intel framhåller att företagets kommande grafikkort med kodnamnet Larrabee är speciellt framtaget för denna teknik. Specialanpassade delar i grafikprocessorn som texturenheter ersätts av en enda stor programmerbar processor som kan användas till vad som helst, precis som dagens CPU:er från Intel och AMD.

En viktig följd av denna utveckling är att 3D-applikationer som just datorspel blir mindre beroende av operativsystemet. DirectX utvecklas av Microsoft och finns endast i Windows, varför det är sällsynt med kommersiella spel till exempelvis Linux eller Mac OS. Detta kan nu komma att ändras inom en snar framtid.

Källa: ArsTechnica.