Pipelinesteg (Direct3D 10)
Direct3D 10 programmerbar pipeline är utformad för att generera grafik för spelprogram i realtid. Följande diagram visar dataflödet från indata till utdata via var och en av de programmerbara stegen.
Alla faser kan konfigureras med hjälp av API:et. Steg med 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. Syftet med var och en av stegen visas nedan.
- Input-Assembler Stage – Indata-assembler-fasen ansvarar för att tillhandahålla data (trianglar, linjer och punkter) till pipelinen.
- Vertex-Shader Stage – Hörn-shader-fasen bearbetar hörn, vanligtvis utför åtgärder som transformeringar, flådning och belysning. En hörnskuggning tar alltid ett enda indatahörn och skapar ett enda utdatahörn.
- Geometry-Shader Stage – Geometri-shader-stadiet bearbetar hela primitiver. Dess indata är en fullständig primitiv (som är tre hörn för en triangel, två hörn för en linje eller ett enda hörn för en punkt). Dessutom kan varje primitiv inkludera hörndata för alla kantnära primitiver. Detta kan innehålla högst ytterligare tre hörn för en triangel eller ytterligare två hörn för en linje. Geometriskuggaren stöder också begränsad geometriförstärkning och deförstärkning. Med en primitiv indata kan geometriskuggaren ta bort primitiven, eller avge en eller flera nya primitiver.
- Stream-Output Stage – Stream-output-fasen är utformad för att strömma primitiva data från pipelinen till minnet på väg till rasterizern. Data kan strömmas ut och/eller skickas till rastreringen. Data som strömmas ut till minnet kan återcirkuleras till pipelinen som indata eller återläsning från processorn.
- Rasterizer Stage – Rastreringen ansvarar för att urklippa primitiver, förbereda primitiver för pixelskuggningen och bestämma hur pixelskuggare ska anropas.
- Pixel-Shader Stage – Pixel-shader-fasen tar emot interpolerade data för en primitiv och genererar data per pixel, till exempel färg.
- Output-Merger Stage – Fasen för utdatasammanslagning ansvarar för att kombinera olika typer av utdata (pixelskuggningsvärden, djup- och stencilinformation) med innehållet i återgivningsmålet och djup/stencilbuffertar för att generera det slutliga pipelineresultatet.
Relaterade ämnen