Freigeben über


Direct3D-Architektur (Direct3D 9)

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

Direct3D-Grafikpipeline

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

Diagramm der Direct3d-Grafikpipeline

Pipelinekomponente Beschreibung Verwandte Themen
Vertexdaten Untransformierte Modellvertices werden in Vertexspeicherpuffern gespeichert. Vertexpuffer (Direct3D 9), IDirect3DVertexBuffer9
Grundtypdaten Geometrische Grundtypen, einschließlich Punkt, Linien, Dreiecke und Polygone, werden in den Vertexdaten mit Indexpuffern referenziert. Indexpuffer (Direct3D 9), IDirect3DIndexBuffer9, Grundtypen, Higher-Order Grundtypen (Direct3D 9)
Tesselation Die Tesselatoreinheit konvertiert Grundtypen, Verdrängungszuordnungen 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, Back Face Culling, Attributauswertung und Rasterung werden auf die transformierten Scheitelpunkte angewendet. Pixelpipeline (Direct3D 9)
Texturoberfläche Texturkoordinaten für Direct3D-Oberflächen werden über die IDirect3DTexture9 Schnittstelle an Direct3D bereitgestellt. Direct3D-Texturen (Direct3D 9), IDirect3DTexture9
Textur-Sampler Die Texturebenenfilterung wird auf Eingabetexturwerte angewendet. Direct3D-Texturen (Direct3D 9)
Pixelverarbeitung Pixel-Shadervorgänge verwenden Geometriedaten, um Eingabevertex- und Texturdaten zu ändern, ergibt Ausgabepixelfarbwerte. Pixelpipeline (Direct3D 9)
Pixelrendering Abschließende Renderingprozesse ändern Pixelfarbwerte mit Alpha-, Tiefen- oder Schablonentests oder durch Anwenden von Alpha-Blending oder Nebel. 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 Zugriff auf die Grafikhardware des Computers über den Gerätetreiber für die Grafikkarte. Im Gegensatz zu GDI kann Direct3D Hardwarefeatures nutzen, indem ein Hal-Gerät erstellt wird.

Ein Hal-Gerät bietet Hardwarebeschleunigung für Grafikpipelinefunktionen, basierend auf dem von der Grafikkarte unterstützten Featuresatz. Direct3D-Methoden werden zum Abrufen von Geräteanzeigefunktionen zur Laufzeit bereitgestellt. (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