Direct 3D

Direct 3D

Direct3D ist eine Programmierschnittstelle (API) von Microsoft für 3D-Computergrafik. Direct3D ist ein Bestandteil von DirectX. Das 1992 von Servan Keondjian gegründete Unternehmen RenderMorphic wurde im Jahre 1995 von Microsoft gekauft, um dessen 3D-API Reality Labs zu Direct3D weiterzuentwickeln und 1996 in DirectX 2.0 zu integrieren. Keondjian leitete die Arbeiten und Doug Rabson agierte als Chefentwickler des Microsoft-Teams, das die 3D-API für Windows 95 entwickelte. Nach der Fertigstellung verließen Keondjian und Rabson das Unternehmen.

Direct3D dient dazu, Windows-Anwendungen einen möglichst direkten Zugriff auf die Hardware eines Computers zu geben. Häufig verwendet wird Direct3D vor allem für Computerspiele, bei dem es mit dem plattform- 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.

Einige Grafikkarten, z. B. die ältere Matrox Graphics Millennium G200 AGP, können nur 3-dimensionale Grafik wiedergeben, wenn Direct3D installiert ist.

Für die Grafikausgabe existiert in Windows neben Direct3D auch das Graphics Device Interface (GDI). Das GDI stellt eine abstrahierte Programmierschnittstelle 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 deutlich langsamer, unter anderem deshalb, weil das GDI komplexe Zeichenbefehle aus Grundoperationen nachbilden muss. Im Gegensatz zu Direct3D kommt das GDI daher vorrangig zur Darstellung gewöhnlicher Desktopapplikationen zum Einsatz, die gewöhnlich nicht grafik-intensiv sind.

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ößtmö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 überwiegend direkt unterstützt werden. Direct3D erlaubt es, die verfügbaren Shader-Typen (Vertex-Shader, Pixel-Shader und Geometry-Shader), anzusteuern.

Unterstützte Plattformen

Die ersten Versionen von Direct3D wurden für Windows 95 entwickelt. Für die Windows-NT-Linie wurde Direct3D Version 5 und aufwärts Windows 2000 verfügbar gemacht, bis DirectX 3.0 wurde eine Unterstützung via Service Packs realisiert. Die derzeit aktuelle Windows-Version von Direct3D ist 10, diese wird bislang jedoch nur in Windows Vista unterstützt. Die weiterhin verfügbare Version 9.0c 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 Plattformen existieren mit Cedega und WINE zwei Implementierungen des Direct3D-APIs für Linux. Auch Sega Dreamcast war kompatibel zu Direct3D.

siehe auch: Glide

Literatur

  • Uli Theuerjahr: Direct3D Realtime Rendering für Computerspiele, 1. Auflage. Roulio Press, 2007, ISBN 9783000223402

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • direct — di·rect 1 vt 1: to order with authority the testator direct ed that the car go to his niece 2: to order entry of (a verdict) without jury consideration the court direct ed a verdict in favor of the defendant 3: to act …   Law dictionary

  • direct — DIRÉCT, Ă, direcţi, te, adj., s.f., adv. 1. adj. Care duce la ţintă, de a dreptul, fără ocol; drept. ♢ În linie directă = din tată în fiu, în linie dreaptă de rudenie. 2. s.f. Lovitură dată de un boxer cu mâna întinsă drept înainte. 3. adv. De a… …   Dicționar Român

  • Direct — Di*rect , a. [L. directus, p. p. of dirigere to direct: cf. F. direct. See {Dress}, and cf. {Dirge}.] 1. Straight; not crooked, oblique, or circuitous; leading by the short or shortest way to a point or end; as, a direct line; direct means. [1913 …   The Collaborative International Dictionary of English

  • direct — Ⅰ. direct UK US /dɪˈrekt/, /daɪˈrekt/ adjective ► without anyone or anything else being involved or coming between two people or things: »She decided to take direct control of the project. »He had had no direct involvement with the deal. »Have… …   Financial and business terms

  • Direct — may refer to: Direct current, a direct flow of electricity Direct examination, the in trial questioning of a witness by the party who has called him or her to testify Direct sum of modules, a construction in abstract algebra which combines… …   Wikipedia

  • direct — direct, ecte (di rèkt, rè kt ; au pluriel masculin l s ne se lie jamais : des avis di rekt et pressants ; la prononciation de la finale ct, cts, au masculin singulier ou pluriel est mal assurée ; on entend quelquefois prononcer di rè, comme… …   Dictionnaire de la Langue Française d'Émile Littré

  • direct — vb 1 Direct, address, devote, apply are comparable when used reflexively with the meaning to turn or bend one s attention, energies, or abilities to something or when meaning to turn, bend, or point (as one s attention, thoughts, or efforts) to a …   New Dictionary of Synonyms

  • Direct 8 — Saltar a navegación, búsqueda Direct 8 Nombre público Direct 8 Eslogan La nouvelle grande chaîne généraliste Programación Generalista Propietario Bolloré País …   Wikipedia Español

  • Direct — Di*rect , v. t. [imp. & p. p. {Directed}; p. pr. & vb. n. {Directing}.] 1. To arrange in a direct or straight line, as against a mark, or towards a goal; to point; to aim; as, to direct an arrow or a piece of ordnance. [1913 Webster] 2. To point… …   The Collaborative International Dictionary of English

  • direct — [də rekt′; ] also [ dīrekt′] adj. [ME < L directus, pp. of dirigere, to lay straight, direct < di , apart, from + regere, to keep straight, rule: see REGAL] 1. by the shortest way, without turning or stopping; not roundabout; not… …   English World dictionary

  • Direct 8 — Launched 31 March 2005 Owned by Groupe Canal+ Picture format 576i (SDTV) 1080i (HDTV) Audience share 2.4% (October 2011 …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”