Direct3D-Architektur (Direct3D 9)

Dieses Thema bietet zwei übergeordnete Ansichten der Architektur von Direct3D:

Direct3D-Grafikpipeline

Die Grafikpipeline bietet die Leistung, Direct3D-Szenen effizient zu verarbeiten und auf einer Anzeige zu rendern, wobei die Vorteile der verfügbaren Hardware genutzt werden. Das folgende Diagramm zeigt die Bausteine der Pipeline:

Diagramm der Direct3d-Grafikpipeline

Pipelinekomponente Beschreibung Verwandte Themen
Scheitelpunktdaten Nicht transformierte Modellvertices werden in Vertexspeicherpuffern gespeichert. Vertexpuffer (Direct3D 9), IDirect3DVertexBuffer9
Primitive Daten Auf geometrische Grundtypen, einschließlich Punkten, Linien, Dreiecken und Polygonen, wird in den Scheitelpunktdaten mit Indexpuffern verwiesen. Indexpuffer (Direct3D 9), IDirect3DIndexBuffer9, Primitive, Primitive höherer Ordnung (Direct3D 9)
Mosaik Die Mosaikeinheit konvertiert Primitive höherer Ordnung, Verschiebungszuordnungen und Gitternetzpatches in Scheitelpunktpositionen und speichert diese Positionen in Scheitelpunktpuffern. Mosaik (Direct3D 9)
Vertexverarbeitung Direct3D-Transformationen werden auf Scheitelpunkte angewendet, die im Scheitelpunktpuffer gespeichert sind. Vertexpipeline (Direct3D 9)
Geometrieverarbeitung Clipping, Back Face Culling, Attributauswertung und Rasterung 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 Textures (Direct3D 9), IDirect3DTexture9
Textur-Sampler Die Filterung auf Texturebene wird auf Eingabetexturwerte angewendet. Direct3D-Texturen (Direct3D 9)
Pixelverarbeitung Pixel-Shadervorgänge verwenden Geometriedaten, um Eingabevertex- und Texturdaten zu ändern und Ausgabepixelfarbwerte zu erhalten. Pixelpipeline (Direct3D 9)
Pixelrendering Endgültige Renderingprozesse ändern Pixelfarbwerte mit Alpha-, Tiefen- oder Schablonentests oder durch Anwenden von Alphablending oder Blending. Alle resultierenden Pixelwerte werden 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 über den Gerätetreiber für die Grafikkarte Zugriff auf die Grafikhardware des Computers. Im Gegensatz zu GDI kann Direct3D hardwarefeatures nutzen, indem ein -Gerät erstellt wird.

Ein Speichergerät bietet Hardwarebeschleunigung für Grafikpipelinefunktionen basierend auf dem von der Grafikkarte unterstützten Featuresatz. Direct3D-Methoden werden bereitgestellt, um Geräteanzeigefunktionen zur Laufzeit abzurufen. (Siehe IDirect3DDevice9::GetDeviceCaps.) Wenn eine Funktion nicht von der Hardware bereitgestellt wird, meldet das Halogen sie nicht als Hardwarefunktion.

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

Erste Schritte