DirectX on Microsoftin Windows-käyttöjärjestelmälle ja Xbox-pelikonsoleille kehittämä, erityisesti peleihin tarkoitettu ohjelmointirajapinta[1] tietokoneohjelman ja laitteiston välille. DirectX tarjoaa yhtenäisen rajapinnan mm. 3D-grafiikkaa, ääntä ja ohjauslaitteita varten.

Ohjelmointirajapinnat ohjaavat matalan tason toimintoja, jotka ovat yhteydessä laitteistoon tai korvaavat puuttuvia toimintoja emuloimalla niitä.[1] Alun perin DirectX:n kehittivät kolme Microsoftilla työskennellyttä henkilöä: Craig Eisler, Alex St. John ja Eric Engstrom.[1]

Tarve rajapinnan kehittämiseen oli se, että Windows 95 -käyttöjärjestelmässä suora pääsy laitteistoresursseihin oli suojattua, toisin kuin sitä edeltäneessä DOS-käyttöjärjestelmässä.[1] Tarvittiin laitteistorajapinta (eng. hardware abstraction layer), jolla päästiin käyttämään laitteistoa matalammalla tasolla kuin mitä Windowsin perusfunktiot olisivat mahdollistaneet. Tämä oli tärkeää pelejä varten, jotta saatiin hyvä suorituskyky ja sulava pelikokemus.

Ennen DirectX:n kehitystä Microsoftilla oli WinG-rajapinta.[2]

Komponentit

muokkaa

DirectX koostuu useasta erillisestä komponentista:

  • DirectX Graphics, joka koostuu kolmesta rajapinnasta:
  • DirectSetup – DirectX-komponenttien asentaminen
  • DirectSound3D
  • DirectX Media Objects – tuki mediavirtojen käsittelyyn (koodekit ja efektit)
    • DirectShow
      • DirectX plugins
      • DirectX Video Acceleration
    • DirectX Transform
    • Direct3D Retained Mode
  • DirectWrite – fonttien piirtäminen
  • DirectCompute – laskenta näytönohjaimella

Käytöstä poistuneita rajapintoja:

  • DirectInputnäppäimistön, hiiren ja muiden peliohjainten käsittely
  • DirectPlay – pelien kommunikointi keskenään verkon välityksellä
  • DirectSound – äänen soittaminen ja nauhoittaminen
  • DirectMusic – musiikin soittaminen

Direct3D

muokkaa

Merkittävä osa-alue kehityksestä suuntautuu 3D-grafiikkaan käytettävän Direct3D:n kehitykseen, etenkin tehokkuuden parantamiseen. Nykyään käytetään vain yleisempää termiä DirectX puhuttaessa Direct3D:stä.

Versio 11 Direct3D:stä paransi tehokkuutta lisäämällä tuen monisäikeistykselle ja lisäsi tuen nk. GPGPU-käytölle nimellä DirectCompute.[3]

Uusin versio 12 julkaistiin vain Windows 10:lle.[4]

DirectCompute

muokkaa

DirectCompute on DirectX:n tuki GPGPU-käytölle eli grafiikkasuorittimen hyödyntämistä matematiikkasuorittimen tavoin puhtaasti laskentatehtäviin, kuten fysiikkamallinnukseen. DirectCompute-ohjelma tehdään HLSL-kielellä.[5]

Katso myös

muokkaa

Lähteet

muokkaa
  1. a b c d Plaza – Katsaus DirectX 10 -rajapintaan (Arkistoitu – Internet Archive) 20.9.2007
  2. Chris Hecker: A Whirlwind Tour of WinG gamasutra.com. 1.6.1997. Viitattu 10.5.2022. (englanniksi)
  3. Direct3D 11 Features Microsoft. Viitattu 20.1.2017.
  4. OpenGL:n korvaajan ja DirectX 12:n haastajan ensimmäinen versio julkaistiin – Mikrobitti www.mikrobitti.fi. Viitattu 20.1.2017.
  5. Compute Shader Overview docs.microsoft.com. 31.5.2018. Viitattu 12.1.2021. (englanniksi)

Aiheesta muualla

muokkaa