DirectX
DirectX
ursprünglich eine von Microsoft entwickelte Schnittstelle für Windows 95 und Windows NT, die für Multimediaanwendungen (Spiele, Simulationen usw.) vorgesehen war; mittlerweile ist diese Multimedia-Programmierschnittstelle ein integraler Bestandteil von Windows, der auch anderen Anwendungsprogrammen Multimedia- und Grafikfunktionen zur Verfügung stellt.
Beweggrund für die Entwicklung von DirectX war, dass Anwendungsprogramme unter den frühen Windows-Versionen (3.x) nicht direkt auf periphere Hardware zugreifen konnten. Viele Computerspiele waren daher nur unter DOS einzusetzen, unter Windows liefen sie zu langsam. Damit war man aber den Nachteilen von DOS (Speicherobergrenze von 640 KByte und fehlende grafische Benutzeroberfläche) ausgesetzt. Durch das Mitte der 1990er-Jahre vorgestellte DirectX wurden aber Hardware-Zugriffe auch unter Windows möglich, sodass sich dieses Betriebssystem auch als Basis für Computerspiele etablieren konnte, zumal Microsoft kostenlose Entwicklungswerkzeuge (SDK) für Spiele- und Multimediaentwickler zur Verfügung stellte. DirectX wurde in schneller Folge überarbeitet (Ende 2001 kam die Version 8.1 heraus, 2002 wurde die Version 9.0 veröffentlicht).
DirectX besteht aus einem Satz von zwei Dutzend Bibliotheken und über 100 DLL-Dateien, die in mehreren Schichten über APIs zusammenarbeiten: Hardware-nah ist die DirectX Foundation (»Grundlage«) angeordnet, die direkt auf die Hardware bzw. auf das Netzwerk zugreift. Darüber ist eine Medienschicht (DirectX Media) angeordnet, auf die von den Anwendungsprogrammen zugegriffen wird und die ihrerseits mit der Foundation zusammenarbeitet.
Zu der DirectX Foundation gehört die Grafikschnittstelle DirectX Graphics, die die Schnittstellen DirectDraw und Direct3D früherer Versionen zusammenfasst. Sie ermöglicht den direkten Zugriff auf den Bildspeicher, kann Bitmap-Rechenoperationen ausführen und macht u. a. selbst definierte Beleuchtungsmodelle (mit ausgefeilter Schattenberechnung), prozedurale Geometrie und programmiertes Bump Mapping (Bump Map) möglich. Durch Zugriff auf die Grafikkarte lassen sich z.B. Drahtgittermodelle und Texturen sehr schnell erzeugen.
In der Medienschicht wurden die älteren Teile DirectSound und DirectMusic zum Modul DirectX Audio zusammengefasst. Diese Schnittstelle unterstützt den Standard MIDI, kann Audiosignale importieren und spielt wav-Dateien auf bis zu 64 Stereokanälen ab. Sog. 3D-Effekte sind möglich, mit denen sich die räumliche Position einer Schallquelle virtuell verändern lässt. Ferner hat DirectX Audio einen Synthesizer und ist scriptfähig.
Das Modul DirectShow (früher als Active Movie bezeichnet) ermöglicht die kontinuierliche Darstellung von Bewegtbildern, auch während des Downloads (Streaming). Version 8 bietet neue Filter (u. a. für MPEG2 und das Windows-Media-Format) und unterstützt DVD.
Zur Netzkommunikation (z.B. für die Verbindung mehrerer Spieler bei Multi-User-Spielen) dient das Modul DirectPlay. Schließlich gibt es noch ein Modul namens DirectInput, mit dem sich verschiedene Eingabegeräte nutzen lassen (neben Tastatur und Maus auch Joysticks – auch mit Kraftrückmeldung–, Datenhandschuhe und Lenkräder), auch die Steuerung von Geräten wie Rüttelschleudersitzen ist möglich.