Delen via


API-functies (Direct3D 10)

De Direct3D 10-grafische pijplijn vertegenwoordigt een fundamentele architectuurwijziging, opnieuw opgebouwd van de grond in hardware en software om de volgende generatie games en 3D-multimediatoepassingen aan te sturen. Het maakt gebruik van het Windows Display Driver Model (WDDM), waarmee prestatie- en gedragsverbeteringen zoals virtueel GPU-geheugen mogelijk zijn.

Ontwikkelaars die bekend zijn met Direct3D 9 ontdekken een reeks functionele verbeteringen en prestatieverbeteringen in Direct3D 10, waaronder:

  • De mogelijkheid om hele primitieven te verwerken in de nieuwe geometrie-shader fase.
  • De mogelijkheid om door pijplijn gegenereerde hoekpuntgegevens uit te voeren in het geheugen met behulp van de stroomuitvoerfase.
  • Organisatie van pijplijnstatus in 5 onveranderbare statusobjecten, waardoor de pijplijn snel kan worden geconfigureerd.
  • Organisatie van shaderconstanten in constante buffers, waardoor bandbreedteoverhead wordt geminimaliseerd voor het leveren van arceringsconstante gegevens.
  • De mogelijkheid om per primitief materiaal te wisselen en in te stellen met behulp van een geometrie-shader.
  • Nieuwe resourcetypen (inclusief patroonmatrices die kunnen worden geïndexeerd vanuit shaders) en resourceindelingen.
  • Verbeterde generalisatie van resourcetoegang met behulp van een weergave.
  • Verouderde hardwaremogelijkheden bits (caps) zijn verwijderd ten gunste van een uitgebreide set gegarandeerde functionaliteit, die gericht is op Direct3D 10-klasse hardware (minimum).
  • Gelaagde Runtime-: de Direct3D 10-API wordt samengesteld met lagen, te beginnen met de basisfunctionaliteit in de kern en het bouwen van optionele en ontwikkelaarshulpfunctionaliteit (foutopsporing, enzovoort) in buitenste lagen.
  • Volledige HLSL-integratie - Alle Direct3D 10-shaders worden geschreven in HLSL en geïmplementeerd met de common-shader core.
  • Een toename van het aantal renderdoelen, patronen en samplers. Er is ook geen arceringslengtelimiet.
  • Gehele getallen en bitsgewijze arceringsbewerkingen.
  • Teruglezen van een diepte-/stenciloppervlak of een multisampled resource, zodra deze niet meer is gebonden als een renderdoel.
  • Ondersteuning voor alfa-naar-dekking met meerdere sampleden.

Er zijn extra gedragsverschillen waar Direct3D 9-ontwikkelaars ook rekening mee moeten houden (zie Direct3D 9 naar Direct3D 10 Overwegingen).

Hier volgt een lijst met Direct3D 9-functies die niet meer worden ondersteund of die zijn gewijzigd in Direct3D 10 (zie afgeschafte functies).

Programmeerhandleiding voor Direct3D 10