Direct3D ist eine Programmierschnittstelle (API) von Microsoft für 3D-Computergrafik. Direct3D ist ein Bestandteil von DirectX. Diese API wurde von Microsoft geschaffen, um Windows-Anwendungen einen möglichst direkten Zugriff auf die Hardware eines Computers zu geben. Häufig verwendet wird Direct3D vor allem für Computerspiele, wo sie mit dem platform- und betriebssystemunabhängigen OpenGL konkurriert.
Die lange Zeit eigenständige Programmierschnittstelle DirectDraw zur Programmierung von 2D-Computergrafik wurde mit DirectX 8.0 in Direct3D integriert.
Für die Grafikausgabe existiert in Windows neben Direct3D auch das Graphics Device Interface (GDI). Das GDI stellt eine abstrahierte Programmiersschnittstelle zur Verfügung, bei der es für den Programmierer etwa wenig Unterschied macht, ob gerade auf einen Bildschirm oder auf einen Drucker gezeichnet wird. Diese Abstraktion macht die Ausgabe selbst allerdings langsamer, unter anderem deshalb, weil das GDI komplexe Zeichenbefehle aus Grundoperationen nachbilden muss.
Mit Direct3D können Anwendungen dagegen an GDI vorbei direkt auf die Hardware zugreifen. Wenn ein Gerät einen komplexeren Befehl nicht unterstützt, so gibt Direct3D lediglich eine Fehlermeldung zurück. Es ist dann Aufgabe der Anwendung, auf diese Fehlermeldung adäquat zu reagieren - etwa durch Nachbildung des Befehls aus Grundoperationen, durch weniger detailgetreue Darstellung oder durch eine Fehlermeldung an den Anwender.
Verschiedene Grafikkarten unterstützen Direct3D durch Gerätetreiber, welche die standardisierten API-Befehle von Direct3D auf die Grafikhardware abbilden. Dabei unterscheidet Direct3D zwischen initialisierenden und ausführenden Befehlen. Initialisierende Befehle konvertieren komplexere Datenstrukturen - wie etwa Texturen - in das grafikkarten-spezifische Format, ausführende Befehle zeigen die derart konvertierten Elemente an. Da das Initialisieren und Konvertieren von Elementen einige Zeit in Anspruch nehmen kann, ist es bei Spielen üblich, dies während des Ladens eines neuen Levels zu tun. Ausführende Befehle sind dagegen auf grösstmögliche Geschwindigkeit optimiert.
Moderne Grafikkarten stellen so genannte Hardware-Shader zur Verfügung. Diese Shader sind ausführbare Mini-Programme, welche zum Erzeugen von 3D-Effekten benutzt werden. Für die Programmierung der Shader definierte Microsoft eine eigene Maschinensprache, die von den beiden derzeit führenden Produzenten von Grafikchips, Nvidia und ATI in ihren Chips direkt unterstützt wird.
Die ersten Versionen von Direct3D wurden für Windows 95 entwickelt. Für die Windows-NT-Linie wurde Direct3D ab Windows 2000 verfügbar gemacht. Die derzeit aktuelle Windows-Version von Direct3D ist 9.0c und unterstützt sowohl die Nachfolger von Windows 95 als auch - mit Windows XP - die NT-Linie.
Die von Microsoft produzierten Spielkonsolen Xbox und Xbox 360 werden ebenfalls mit Varianten von Direct3D programmiert.
Neben diesen beiden von Microsoft offiziell unterstützten Platformen existiert mit Cedega eine Implementierung des Direct3D-APIs für Linux.
siehe auch: Glide
Direct3D | Direct3D | Direct3D | Direct3D | Direct3D | Direct3D | Direct3D | Direct3D | Direct3D
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Direct3D".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world