API-Features (Direct3D 10)
Die Direct3D 10-Grafikpipeline stellt eine grundlegende Änderung der Architektur dar, die von Grund auf in Hard- und Software neu erstellt wurde, um die nächste Generation von Spielen und 3D-Multimediaanwendungen zu unterstützen. Es verwendet das Windows Display Driver Model (WDDM), das Leistungs- und Verhaltensverbesserungen wie virtuellen GPU-Arbeitsspeicher ermöglicht.
Entwickler, die mit Direct3D 9 vertraut sind, entdecken eine Reihe von Funktionsverbesserungen und Leistungsverbesserungen in Direct3D 10, darunter:
- Die Möglichkeit, ganze Grundtypen in der neuen Geometry-Shader-Phase zu verarbeiten.
- Die Möglichkeit, durch die Pipeline generierte Vertexdaten mithilfe der Streamausgabephase in den Arbeitsspeicher auszugeben.
- Organisation des Pipelinezustands in 5 unveränderliche Zustandsobjekte, die eine schnelle Konfiguration der Pipeline ermöglichen.
- Organisation von Shaderkonstanten in Konstantenpuffern, minimiert den Bandbreitenaufwand für die Bereitstellung von Shaderkonstantendaten.
- Die Möglichkeit zum Ausführen eines primitiven Materialaustauschs und -setups mithilfe eines Geometrie-Shaders.
- Neue Ressourcentypen (einschließlich Texturarrays, die von Shadern indiziert werden können) und Ressourcenformate.
- Erhöhte Generalisierung des Ressourcenzugriffs mithilfe einer Ansicht.
- Legacy-Hardwarefunktionsbits (Caps) wurden zugunsten eines umfangreichen Satz garantierter Funktionen entfernt, die auf Direct3D 10-Klassen-Hardware (Minimum) ausgerichtet sind.
- Layered Runtime : Die Direct3D 10-API wird mit Ebenen erstellt, beginnend mit der grundlegenden Funktionalität im Kern und dem Erstellen optionaler und Entwicklerunterstützungsfunktionen (Debuggen usw.) in äußeren Schichten.
- Vollständige HLSL-Integration: Alle Direct3D 10-Shader werden in HLSL geschrieben und mit dem Common-Shader-Kern implementiert.
- Eine Erhöhung der Anzahl von Renderzielen, Texturen und Samplern. Es gibt auch keine Begrenzung der Shaderlänge.
- Ganzzahlige und bitweise Shadervorgänge.
- Readback einer Tiefen-/Schablonenoberfläche oder einer mehrstufigen Ressource, sobald sie nicht mehr als Renderziel gebunden ist.
- Multisampled Alpha-to-Coverage-Unterstützung.
Es gibt zusätzliche Verhaltensunterschiede, die Auch Direct3D 9-Entwickler beachten sollten (siehe Überlegungen zu Direct3D 9 bis Direct3D 10).
Hier finden Sie eine Liste der Direct3D 9-Features, die entweder nicht mehr unterstützt oder in Direct3D 10 überarbeitet wurden (siehe veraltete Features).
Zugehörige Themen