DirectX
on
Microsoftin
Windows-kayttojarjestelmalle
ja Xbox-pelikonsoleille kehittama, erityisesti
peleihin
tarkoitettu
ohjelmointirajapinta
[1]
tietokoneohjelman
ja
laitteiston
valille. DirectX tarjoaa yhtenaisen rajapinnan mm. 3D-grafiikkaa, aanta ja ohjauslaitteita varten.
Ohjelmointirajapinnat ohjaavat matalan tason toimintoja, jotka ovat yhteydessa laitteistoon tai korvaavat puuttuvia toimintoja emuloimalla niita.
[1]
Alun perin DirectX:n kehittivat kolme Microsoftilla tyoskennellytta henkiloa: Craig Eisler, Alex St. John ja Eric Engstrom.
[1]
Tarve rajapinnan kehittamiseen oli se, etta
Windows 95
-kayttojarjestelmassa suora paasy laitteistoresursseihin oli suojattua, toisin kuin sita edeltaneessa
DOS
-kayttojarjestelmassa.
[1]
Tarvittiin laitteistorajapinta (eng. hardware abstraction layer), jolla paastiin kayttamaan laitteistoa matalammalla tasolla kuin mita Windowsin perusfunktiot olisivat mahdollistaneet. Tama oli tarkeaa peleja varten, jotta saatiin hyva suorituskyky ja sulava pelikokemus.
Ennen DirectX:n kehitysta Microsoftilla oli
WinG
-rajapinta.
[2]
DirectX koostuu useasta erillisesta komponentista:
- DirectX Graphics
, joka koostuu kolmesta rajapinnasta:
- DirectSetup
? DirectX-komponenttien asentaminen
- DirectSound3D
- DirectX Media Objects
? tuki mediavirtojen kasittelyyn (koodekit ja efektit)
- DirectShow
- DirectX plugins
- DirectX Video Acceleration
- DirectX Transform
- Direct3D Retained Mode
- DirectWrite
? fonttien piirtaminen
- DirectCompute
? laskenta naytonohjaimella
Kaytosta poistuneita rajapintoja:
- DirectInput
?
nappaimiston
,
hiiren
ja muiden
peliohjainten
kasittely
- DirectPlay
? pelien kommunikointi keskenaan
verkon
valityksella
- DirectSound
? aanen soittaminen ja nauhoittaminen
- DirectMusic
? musiikin soittaminen
Merkittava osa-alue kehityksesta suuntautuu
3D-grafiikkaan
kaytettavan
Direct3D
:n kehitykseen, etenkin tehokkuuden parantamiseen. Nykyaan kaytetaan vain yleisempaa termia DirectX puhuttaessa Direct3D:sta.
Versio 11 Direct3D:sta paransi tehokkuutta lisaamalla tuen
monisaikeistykselle
ja lisasi tuen nk.
GPGPU
-kaytolle nimella
DirectCompute
.
[3]
Uusin versio 12 julkaistiin vain Windows 10:lle.
[4]
DirectCompute
on DirectX:n tuki
GPGPU
-kaytolle eli
grafiikkasuorittimen
hyodyntamista
matematiikkasuorittimen
tavoin puhtaasti laskentatehtaviin, kuten fysiikkamallinnukseen.
DirectCompute-ohjelma tehdaan
HLSL
-kielella.
[5]