DirectX je skup grafičkih sučelja koje je razvio Microsoft i koje se koriste u operativnim sustavima Windows. Iako se čini da je DirectX samo „pretvara” grafičke naredbe u kod koji GPU može izvoditi, u praksi je mnogo složeniji. U ovom članku objasnit ćemo zašto DirectX ne radi na Linuxu i MacOS‑u, što točno čini njegovu nekompatibilnost i koje su alternative za korisnike i programere.
Sadržaj...
1. Duboka integracija u Windows‑ov ekosustav
DirectX nije samostalan program; on je duboko ukorijenjen u Windows‑ovom operativnom sustavu na više razina. Prvo, DirectX se oslanja na Windows‑ov COM (Component Object Model) sustav, koji omogućuje objektno orijentirano programiranje i upravljanje memorijom. COM je specifičan za Windows i ne postoji izravna zamjena na Linuxu ili MacOS‑u.
Drugo, DirectX koristi Windows‑ove kernel‑mode drivere za komunikaciju s grafičkim karticama. Ti drivere su razvijeni uz pomoć Microsoftovih sučelja i specifičnih protokola, što znači da se ne mogu jednostavno preuzeti ili instalirati na drugim operativnim sustavima.
Treće, Windows pruža specijalizirane funkcije za upravljanje resursima, kao što su Direct3D 12 i DirectCompute. Ove funkcije rade u bliskoj suradnji s Windows‑ovim upravljačkim slojem (Windows Graphics Driver Model – WDDM), što je dodatni sloj koji nema ekvivalent na Linuxu ili MacOS‑u.
2. Različiti grafički modeli i standardi
Linux i MacOS koriste vlastita grafička sučelja: Vulkan na Linuxu i Metal na MacOS‑u. Ovi sučelja su dizajnirana da rade s kernel‑mode driverima koji su specifični za svaki operativni sustav.
Vulkan je otvoreni standard koji je razvijen kako bi bio multiplatformski, a Metal je Appleov vlasnički sučelje. Oba su optimizirana za rad s njihovim operativnim sustavima, a ne s Windows‑ovim WDDM‑om. To znači da se kod koji je napisan za DirectX ne može jednostavno prevesti u Vulkan ili Metal bez značajnih promjena.
Osim toga, svaki operativni sustav ima svoj način upravljanja memorijom, sinhronizacijom i upravljanjem grafičkim resursima. DirectX je dizajniran da radi unutar Windows‑ovog okvira, što ga čini nekompatibilnim s drugim sustavima.
3. Alternativni putevi i rješenja
Za




