Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Direct3D-Gerät ist die Renderkomponente von Direct3D. Er kapselt den Renderingzustand und speichert ihn. Darüber hinaus führt ein Direct3D-Gerät Transformationen und Beleuchtungsvorgänge durch und rastert ein Bild auf eine Oberfläche.
- XPDM vs. WDDM-
- Gerätetypen (Direct3D 9)
- Erstellen eines Geräts (Direct3D 9)
- im Vergleich zum Full-Screen Modus (Direct3D 9)
- Auswählen eines Geräts (Direct3D 9)
- Verlorene Geräte (Direct3D 9)
- Bestimmen der Hardwareunterstützung (Direct3D 9)
- Verarbeiten von Vertexdaten (Direct3D 9)
- Grundtypen
Architekturell enthalten Direct3D-Geräte ein Transformationsmodul, ein Beleuchtungsmodul und ein Rasterungsmodul, wie das folgende Diagramm zeigt.
Direct3D unterstützt derzeit zwei Haupttypen von Direct3D-Geräten:
- Ein Hal-Gerät mit hardwarebeschleunigte Rasterung und Schattierung mit Hardware- und Software-Vertexverarbeitung
- Ein Referenzgerät
Sie können sich diese Geräte als zwei separate Treiber vorstellen. Software- und Referenzgeräte werden durch Softwaretreiber dargestellt, und das Hal-Gerät wird durch einen Hardwaretreiber dargestellt. Die am häufigsten verwendete Möglichkeit, diese Geräte zu nutzen, besteht darin, das Hal-Gerät zum Versenden von Anwendungen und das Referenzgerät für Featuretests zu verwenden. Diese werden von Drittanbietern bereitgestellt, um bestimmte Geräte zu emulieren , z. B. Entwicklungshardware, die noch nicht veröffentlicht wurde.
Das von einer Anwendung erstellten Direct3D-Gerät muss den Funktionen der Hardware entsprechen, auf der die Anwendung ausgeführt wird. Direct3D bietet Renderingfunktionen, entweder durch Den Zugriff auf 3D-Hardware, die auf dem Computer installiert ist, oder durch Emulieren der Funktionen von 3D-Hardware in Software. Daher stellt Direct3D Geräte sowohl für den Hardwarezugriff als auch für die Softwareemulation bereit.
Hardwarebeschleunigte Geräte bieten eine wesentlich bessere Leistung als Softwaregeräte. Der Hal-Gerätetyp ist auf allen direct3D-unterstützten Grafikadaptern verfügbar. In den meisten Fällen zielen Anwendungen auf Computer mit Hardwarebeschleunigung ab und basieren auf der Softwareemulation, um Computer mit niedrigeren Enden aufzunehmen.
Mit Ausnahme des Referenzgeräts unterstützen Softwaregeräte nicht immer dieselben Features wie ein Hardwaregerät. Anwendungen sollten immer Gerätefunktionen abfragen, um zu bestimmen, welche Features unterstützt werden.
Da das Verhalten der Software- und Referenzgeräte, die mit Direct3D 9 bereitgestellt werden, mit dem des Hal-Geräts identisch ist, funktioniert der anwendungsautorierte Anwendungscode für die Arbeit mit dem Hal-Gerät ohne Änderungen mit der Software oder referenzierten Geräten. Beachten Sie, dass das bereitgestellte Software- oder Referenzgeräteverhalten mit dem des Hal-Geräts identisch ist, die Gerätefunktionen variieren und ein bestimmtes Softwaregerät möglicherweise einen viel kleineren Satz von Funktionen implementiert.
Verhaltensweisen
Mit Direct3D können Sie das Verhalten eines Geräts sowie den Gerätetyp angeben. Die IDirect3D9::CreateDevice-Methode ermöglicht eine Kombination aus einem oder mehreren Verhaltenskennzeichnungen, um das globale Verhalten des Direct3D-Geräts zu steuern. Diese Verhaltensweisen geben an, was im Laufzeitbereich von Direct3D nicht verwaltet wird, und die Gerätetypen geben an, welcher Treiber verwendet werden soll. Obwohl einige Kombinationen von Geräteverhalten nicht gültig sind, ist es möglich, alle Geräteverhalten mit allen Gerätetypen zu verwenden. Beispielsweise ist es gültig, D3DDEVTYPE_SW auf einem Gerät anzugeben, das mit D3DCREATE_PUREDEVICE erstellt wurde.
Verwandte Themen