Freigeben über


API-Features (Direct3D 10)

Die Direct3D 10-Grafikpipeline stellt eine grundlegende Architekturänderung dar, die von Grund auf in Hardware und Software neu aufgebaut wird, um die nächste Generation von Spielen und 3D-Multimediaanwendungen zu ermöglichen. Es verwendet das Windows Display Driver Model (WDDM), das Leistungs- und Verhaltensverbesserungen wie den virtuellen GPU-Speicher ermöglicht.

Entwickler, die mit Direct3D 9 vertraut sind, werden eine Reihe funktionaler Verbesserungen und Leistungsverbesserungen in Direct3D 10 entdecken, darunter:

  • Die Möglichkeit, ganze Grundtypen in der neuen Geometrie-Shaderstufezu verarbeiten.
  • Die Möglichkeit, pipelinegenerierte Vertexdaten mithilfe der Streamausgabestufein den Arbeitsspeicher auszuzugeben.
  • Organisation des Pipelinestatus in 5 unveränderliche Zustandsobjekte, wodurch eine schnelle Konfiguration der Pipeline ermöglicht wird.
  • Organisation von Shaderkonstanten in Konstantenpuffern, wodurch der Bandbreitenaufwand für die Bereitstellung von Shaderkonstantendaten minimiert wird.
  • Die Möglichkeit zum Austauschen und Einrichten von Material pro Grundtyp 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 (Kapitälchen) wurden zugunsten einer umfassenden Reihe garantierter Funktionen entfernt, die auf Direct3D 10-Klassenhardware (Minimum) ausgerichtet sind.
  • Layered Runtime – Die Direct3D 10-API wird mit Ebenen erstellt, beginnend mit der grundlegenden Funktionalität im Kern und erstellen optionaler und Entwicklerhilfefunktionen (Debug usw.) in äußeren Ebenen.
  • Vollständige HLSL-Integration – Alle Direct3D 10-Shader werden in HLSL geschrieben und mit dem common-shader coreimplementiert.
  • Eine Erhöhung der Anzahl der Renderziele, Texturen und Sampler. Es gibt auch keine Shaderlängenbeschränkung.
  • Ganzzahlige und bitweise Shaderoperationen.
  • Readback einer Tiefen-/Schablonenoberfläche oder einer Multisamplingressource, sobald sie nicht mehr als Renderziel gebunden ist.
  • Unterstützung für multisampelte Alpha-zu-Abdeckung.

Es gibt zusätzliche Verhaltensunterschiede, die Direct3D 9-Entwickler ebenfalls beachten sollten (siehe Direct3D 9 zu Direct3D 10 Überlegungen).

Hier ist eine Liste der Direct3D 9-Features, die nicht mehr unterstützt werden oder in Direct3D 10 überarbeitet wurden (siehe veraltete Features).

Programmierhandbuch für Direct3D 10-