API-funktioner (Direct3D 10)
Direct3D 10-grafikpipelinen representerar en grundläggande arkitekturändring, ombyggd från grunden i maskinvara och programvara för att driva nästa generations spel och 3D-multimediaprogram. Den använder Windows Display Driver Model (WDDM), som möjliggör prestanda- och beteendeförbättringar, till exempel virtuellt GPU-minne.
Utvecklare som är bekanta med Direct3D 9 kommer att upptäcka en rad funktionella förbättringar och prestandaförbättringar i Direct3D 10, inklusive:
- Möjligheten att bearbeta hela primitiver i den nya geometri-skuggningssteget.
- Möjligheten att mata ut pipelinegenererade hörndata till minnet med hjälp av stream-output-fasen.
- Organisation av pipelinetillstånd till 5 oföränderliga tillståndsobjekt, vilket möjliggör snabb konfiguration av pipelinen.
- Organisation av skuggningskonstanter i konstanta buffertar, vilket minimerar bandbreddskostnaderna för att tillhandahålla skuggningskonstanta data.
- Möjligheten att utföra per primitiv materialväxling och konfiguration med hjälp av en geometriskuggning.
- Nya resurstyper (inklusive strukturmatriser som kan indexeras från skuggningar) och resursformat.
- Ökad generalisering av resursåtkomst med hjälp av en vy.
- Äldre bitar av maskinvarufunktioner (caps) har tagits bort till förmån för en omfattande uppsättning garanterade funktioner, som är inriktade på Direct3D-maskinvara i 10-klass (minimum).
- Layered Runtime- – Direct3D 10-API:et är konstruerat med lager, med början med grundläggande funktioner i kärnan och skapande av valfria funktioner och funktioner för utvecklarhjälp (felsökning osv.) i yttre lager.
- Fullständig HLSL-integrering – Alla Direct3D 10-skuggningar skrivs i HLSL och implementeras med common-shader core.
- En ökning av antalet återgivningsmål, texturer och provtagare. Det finns inte heller någon längdgräns för skuggning.
- Heltals- och bitvis skuggningsåtgärder.
- Återläsning av en djup-/stencilyta eller en resurs med flera exempel när den inte längre är bunden som ett återgivningsmål.
- Stöd för flera exempel på alfa-till-täckning.
Det finns ytterligare beteendeskillnader som Direct3D 9-utvecklare också bör känna till (se Direct3D 9 till Direct3D 10 Överväganden).
Här är en lista över Direct3D 9-funktioner som antingen inte längre stöds eller har ändrats i Direct3D 10 (se Inaktuella funktioner).
Relaterade ämnen