Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Direct3D 11 programmerbar pipeline är utformad för att generera grafik för spelprogram i realtid. I det här avsnittet beskrivs den programmerbara Direct3D 11-pipelinen. Följande diagram visar dataflödet från indata till utdata via var och en av de programmerbara stegen.
Grafikpipelinen för Microsoft Direct3D 11 stöder samma steg som Direct3D 10-grafikpipeline, med ytterligare steg för att stödja avancerade funktioner.
Du kan använda Direct3D 11API för att konfigurera alla steg. Steg som har vanliga skuggningskärnor (de rundade rektangulära blocken) kan programmeras med hjälp av programmeringsspråket HLSL. Som du ser gör detta pipelinen extremt flexibel och anpassningsbar.
I det här avsnittet
| Ämne | Beskrivning |
|---|---|
|
input-assembler-steg |
Direct3D 10 och högre API separerar funktionella områden i pipelinen i steg; den första fasen i pipelinen är IA-fasen (input-assembler). |
|
hörnskuggningssteg |
Vertex-shader (VS)-fasen bearbetar vertiklar från indatamonterarenheten och utför åtgärder per vertikel, som transformeringar, skelettering, morfning och per vertikelbelysning. Vertex-skyggare fungerar alltid på en enda indata-vertex och skapar en enda utdata-vertex. Vertex Shader-stadiet måste alltid vara aktivt för att pipeline ska kunna köras. Om ingen ändring eller transformering av vertex krävs måste en pass-through vertex shader skapas och läggas till i pipeline:n. |
|
Tessellation steg |
Direct3D 11-körningen stöder tre nya steg som implementerar tessellation, som konverterar indelningsytor med låg detaljnivå till primitiver med högre detaljnivå på GPU:n. Tessellering (eller delar upp) ytor av hög ordning i strukturer som är lämpliga för rendering. |
|
geometriskuggarfas |
GS-fasen (Geometry-Shader) kör programspecifik skuggningskod med hörn som indata och möjlighet att generera hörn på utdata. |
|
Stream-utdatasteg |
Syftet med stream-output-fasen är att kontinuerligt mata ut (eller strömma) hörndata från geometri-skuggningssteget (eller hörnskuggningssteget om geometri-skuggningssteget är inaktivt) till en eller flera buffertar i minnet (se Komma igång med stream-output-fasen). |
|
Rastreringssteg |
Rastreringssteget konverterar vektorinformation (bestående av former eller primitiver) till en rasterbild (bestående av bildpunkter) i syfte att visa 3D-grafik i realtid. |
|
pixelskuggningssteg |
Pixelskuggningssteget (PS) möjliggör omfattande skuggningstekniker som belysning per bildpunkt och efterbearbetning. En pixelskuggning är ett program som kombinerar konstanta variabler, texturdata, interpolerade värden per hörn och andra data för att producera utdata per bildpunkt. Rastreringssteget anropar en pixelskuggning en gång för varje pixel som omfattas av en primitiv, men det är möjligt att ange en NULL- skuggning för att undvika att köra en skuggning. |
|
Utgångssammanslagningstadiet |
Om-fasen (output-merger) genererar den slutliga renderade pixelfärgen med hjälp av en kombination av pipelinetillstånd, pixeldata som genereras av pixelskuggarna, innehållet i återgivningsmålen och innehållet i djup-/stencilbuffertarna. OM-fasen är det sista steget för att avgöra vilka bildpunkter som är synliga (med testning av djupstenciler) och blandning av de sista pixelfärgerna. |