API-Features (Direct3D 10)

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

Entwickler, die mit Direct3D 9 vertraut sind, werden eine Reihe von Funktionserweiterungen und Leistungsverbesserungen in Direct3D 10 entdecken, einschließlich:

  • Die Fähigkeit, ganze Primitive in der neuen geometry-shader-Phasezu verarbeiten.
  • Die Möglichkeit, pipelinegenerierte Scheitelpunktdaten mithilfe der Streamausgabephasein den Arbeitsspeicher auszugeben.
  • Organisation des Pipelinezustands in 5 unveränderliche Zustandsobjekte,wodurch eine schnelle Konfiguration der Pipeline ermöglicht wird.
  • Organisation von Shaderkonstanten in konstanten Puffern,wodurch der Bandbreitenaufwand für die Bereitstellung von Shaderkonstantendaten minimiert wird.
  • Die Möglichkeit zum Austausch und Einrichten von Pro-Primitive-Material mithilfe eines Geometrie-Shaders.
  • Neue Ressourcentypen (einschließlich Texturarrays, die über Shader indiziert werden können) und Ressourcenformate.
  • Erhöhte Generalisierung des Ressourcenzugriffs mithilfe einer Ansicht.
  • Legacy-Hardwarefunktionsbits (Caps) wurden zugunsten eines umfangreichen Satzes garantierter Funktionen entfernt, die auf Direct3D-Hardware der 10-Klasse (mindestens) ausgerichtet sind.
  • Mehrstufige Runtime: Die Direct3D 10-API wird mit Ebenen erstellt, beginnend mit der grundlegenden Funktionalität im Kern und der Erstellung optionaler und Entwicklerunterstützungsfunktionen (Debuggen usw.) in äußeren Ebenen.
  • Vollständige HLSL-Integration: Alle Direct3D 10-Shader werden in HLSL geschrieben und mit dem Common-Shader-Kernimplementiert.
  • Eine Erhöhung der Anzahl von Renderzielen, Texturen und Samplern. Es gibt auch keine Längenbeschränkung für Shader.
  • Ganzzahlige und bitweise Shadervorgänge.
  • Rücklesen einer Tiefen-/Schablonenoberfläche oder einer Multisampled-Ressource, sobald sie nicht mehr als Renderziel gebunden ist.
  • Multisampled Alpha-to-Coverage-Unterstützung.

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

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

Programmierhandbuch für Direct3D 10