Mis vahe on OpenGL® ja DirectX® vahel?

Open Graphics Library® (OpenGL®) ja DirectX® on mõlemad graafika renderdusprogrammid, kuid nende kahe vahel on suuri erinevusi. Mänguprogrammeerijad valivad tavaliselt DirectX®-i, kuna sellel on palju funktsioone spetsiaalselt mängude renderdamiseks, samas kui OpenGL® on loodud graafika töötlemiseks. OpenGL® ja DirectX® töötavad programmide arendajate tõttu ka erinevates operatsioonisüsteemides (OS-ides). OpenGL® loob ainult graafikat ja toetub oluliste funktsioonide jaoks muudele programmidele, samas kui DirectX®-il on palju oma tugifunktsioone. DirectX®-i uuendamisel muutub kogu programm; OpenGL® annab välja laiendusi, mis ei muuda programmi ennast, vaid lisavad uusi funktsioone.

OpenGL®-ist ja DirectX®-ist on OpenGL® see, mis ei sisalda spetsiaalselt mängude jaoks mõeldud tööriistu. DirectX®-il on palju tööriistu mängu helitugevuse, võrgu ja sisendelementide juhtimiseks. Kuigi OpenGL®-i saab kasutada mängu graafika loomiseks ja juhtimiseks, ei paku see muid funktsioone ning programmeerijad peavad tavaliselt mängu väljundi lõpuleviimiseks kasutama OpenGL®-iga koos muid programme.

Lisaks mängufunktsioonidele lähenevad OpenGL® ja DirectX® teistele graafika kuvamisega kaudselt seotud funktsioonidele erinevalt. Näiteks võib olla vaja graafikat juhtida riistvaraga, nagu hiir või juhtkangi, või muusika võib olla graafikaga seotud. OpenGL® on loodud ainult graafika loomiseks ja toetamiseks, seega vajab see graafika korrektseks toimimiseks teiste süsteemide tuge. Olenevalt nõutavast funktsioonist võib OpenGL® tugineda DirectX®-ile. Paljud neist funktsioonidest sisalduvad DirectX®-is, seega on see eraldiseisev programm.

OpenGL® ja DirectX® on loodud töötama erinevatel OS-idel. DirectX® on välja töötanud Microsoft®, seega on see programm loodud töötama Microsofti® erinevates süsteemides ja sageli ei toeta seda teised süsteemid. OpenGL®-i loovad erinevad liikmed ja see on avatud lähtekoodiga programm ning see on võimeline töötama paljudes erinevates OS-ides ja erinevates arvutuskeskkondades, näiteks manussüsteemides.

Kui neid uuendatakse, muudetakse OpenGL® ja DirectX® erineval viisil. Kasutajakeskkond, riistvaranõuded ja tööriistad muutuvad DirectX®-i uuendamisel drastiliselt. See nõuab kasutajatel sageli programmi uuesti õppimist ja varasemate DirectX®-i versioonide riistvara vananeb ega tööta uue graafikaga. OpenGL®-i uuendus ei ole nii drastiline; selle asemel, et muuta kasutajakeskkonda ja välja anda täiesti uus programm, loob OpenGL® laiendusi. Need lisavad uusi funktsioone ja kui teise arvutisse pole installitud samu laiendusi, leiab OpenGL® graafika kuvamise viisi, kasutades vanemaid laiendusi.