FB TW GG PIN NWS

DirectX

DirectX, Microsoft'un oyunlar başta olmak üzere çoklu ortam yazılımlarını rahat, hızlı ve uyumlu şekilde hazırlayabilmek için yarattığı bir Yazılım Programlama Arayüzüdür (API - Application Programming Interface). İçerdiği bileşenler şu şekilde özetlenebilir:

Direct3D (veya yeni adıyla WGF: Windows Graphics Foundations - Windows Grafik Temelleri) hem iki hem üç boyutlu grafikleri ekrana dökmeye yarar. Piyasadaki çoğu ekran kartının en modern donanım hızlandırma özelliklerini destekler. En büyük rakibi OpenGL'dir.
DirectSound hem iki hem üç boyutlu ses için kullanılır. Windows altında çalışabilen her ses kartı en azından yazılım ile DirectSound ve DirectSound 3D desteğine sahiptir. Piyasadaki tüm rakipleri göz ardı edilebilecek bir popüleriteye sahiptir.
DirectInput, klavye, fare ve oyun çubuğu gibi bileşenlerin giriş ve çıkışlarını basit bir şekilde yönetebilmek için olan arabirimdir.
DirectPlay ise TCP/IP, modem ve Bluetooth gibi bir çok protokol üzerinden bağlantı ve mesajlaşma bileşenlerini içerir. TCP/IP üzerinde NAT veya uPnP geçişlerini desteklemesi ve DirectPlay Voice ile saniyede 1.2 kbit'e kadar inebilen ses sıkıştırma codec'leri ile göz doldurur. Açık kaynak dünyasında en bilinen rakibi HawkNL'dir.
Windows 95 ile birlikte oyun programcılarını DOS'tan Windows'a doğru çekmek için yaratılmış olan bu arabirim, ancak 5.0 sürümünden itibaren beklenen ilgiyi görmeye başlayabilmiştir. Windows 2000'in çıkışıyla birlikte gerçek kip oyunlarının sonu gelmiş olduğundan, Windows altında vazgeçilmez oyun arayüzü haline gelmiştir. XBox'ta da DirectX'in kullanılıyor olması, arabirimin popülaritesini artırmada etkili olmuştur. Buna ek olarak, son zamanlarda DirectX Managed (.NET tabanlı) modülü sayesinde çok hızlı bir şekilde kolayca, karmaşık DirectX uygulamaları yazmak mümkün hale gelmiştir.

Sanılanın aksine, Linux altında DirectX bileşenlerinin büyük çoğunluğunun kullanılması Codega sayesinde mümkündür. Bu yazılım, Direct3D'yi OpenGL, DirectSound'u ise OSS (Open Sound System - Açık Ses Sistemi) kullanarak çalıştırır.