Freigeben über


Direct3D-Architektur (Direct3D 9)

Dieses Thema enthält zwei allgemeine Ansichten der Direct3D-Architektur:

Direct3D-Grafikpipeline

Die Grafikpipeline bietet die Leistung, um Direct3D-Szenen effizient zu verarbeiten und auf einem Display zu rendern, wobei die verfügbare Hardware genutzt wird. Das folgende Diagramm zeigt die Bausteine der Pipeline:

Diagramm der Direct3d-Grafikpipeline

Pipelinekomponente BESCHREIBUNG Verwandte Themen
Vertexdaten Nicht transformierte Modellvertices werden in Vertexspeicherpuffern gespeichert. Vertexpuffer (Direct3D 9), IDirect3DVertexBuffer9
Primitive Daten Geometrische Grundtypen, einschließlich Punkten, Linien, Dreiecken und Polygonen, werden in den Vertexdaten mit Indexpuffern referenziert. Indexpuffer (Direct3D 9), IDirect3DIndexBuffer9, Primitive,Grundtypen höherer Ordnung (Direct3D 9)
Mosaik Die Tesselatoreinheit konvertiert Grundtypen höherer Ordnung, Verschiebungszuordnungen und Gitterpatches in Vertexpositionen und speichert diese Speicherorte in Vertexpuffern. Tessellation (Direct3D 9)
Vertexverarbeitung Direct3D-Transformationen werden auf Scheitelpunkte angewendet, die im Vertexpuffer gespeichert sind. Vertexpipeline (Direct3D 9)
Geometrieverarbeitung Clipping, Culling der Rückseite, Attributauswertung und Rasterisierung werden auf die transformierten Scheitelpunkte angewendet. Pixelpipeline (Direct3D 9)
Texturierte Oberfläche Texturkoordinaten für Direct3D-Oberflächen werden direct3D über die IDirect3DTexture9-Schnittstelle bereitgestellt. Direct3D-Texturen (Direct3D 9), IDirect3DTexture9
Texture Sampler Die Texturebenenfilterung wird auf Eingabetexturwerte angewendet. Direct3D-Texturen (Direct3D 9)
Pixelverarbeitung Pixelshadervorgänge verwenden Geometriedaten, um Eingabevertex- und Texturdaten zu ändern, ergibt die Farbwerte der Ausgabepixel. Pixelpipeline (Direct3D 9)
Pixelrendering Abschließende Renderingprozesse ändern die Pixelfarbwerte mit Alpha-, Tiefen- oder Schablonentests oder durch Anwenden von Alphamischung oder Nebel. Alle resultierenden Pixelwerte werden auf der Ausgabeanzeige angezeigt. Pixelpipeline (Direct3D 9)

 

Direct3D-Systemintegration

Das folgende Diagramm zeigt die Beziehungen zwischen einer Window-Anwendung, Direct3D, GDI und der Hardware:

Diagramm der Beziehung zwischen direct3d und anderen Systemkomponenten

Direct3D macht eine geräteunabhängige Schnittstelle für eine Anwendung verfügbar. Direct3D-Anwendungen können zusammen mit GDI-Anwendungen vorhanden sein, und beide haben Zugriff auf die Grafikhardware des Computers über den Gerätetreiber für die Grafik Karte. Im Gegensatz zu GDI kann Direct3D hardwarefeatures nutzen, indem ein hal-Gerät erstellt wird.

Ein hal-Gerät ermöglicht die Hardwarebeschleunigung für Grafikpipelinefunktionen basierend auf dem Featuresatz, der vom Grafik-Karte unterstützt wird. Direct3D-Methoden werden bereitgestellt, um Geräteanzeigefunktionen zur Laufzeit abzurufen. (Siehe IDirect3DDevice9::GetDeviceCaps.) Wenn eine Funktion nicht von der Hardware bereitgestellt wird, meldet die Hal sie nicht als Hardwarefunktion.

Weitere Informationen zu hal- und Referenzgeräten, die von Direct3D unterstützt werden, finden Sie unter Gerätetypen (Direct3D 9).

Erste Schritte