Not
Å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 10 och högre API separerar funktionella områden i pipelinen i steg; den första fasen i pipelinen är IA-fasen (input-assembler).
Syftet med indata-assembler-fasen är att läsa primitiva data (punkter, linjer och/eller trianglar) från användarfyllda buffertar och montera data i primitiver som ska användas av de andra pipelinestegen. IA-fasen kan sätta ihop hörn i flera olika primitiva typer (till exempel linjelistor, triangelband eller primitiver med angränsande). Nya primitiva typer (till exempel en linjelista med angränsande eller en triangellista med angränsande) har lagts till för att stödja geometriskuggningen.
Angränsande information är endast synlig för ett program i en geometriskuggning. Om en geometrisk skuggning anropades med en triangel inklusive angränsande, till exempel, skulle indata innehålla tre hörn för varje triangel och 3 hörn för angränsande data per triangel.
När indata-assembler-fasen begärs för att mata ut angränsande data måste indata innehålla angränsande data. Detta kan kräva att du anger ett dummyhörn (som bildar en degenerera triangel) eller kanske genom att flagga i något av hörnattributen oavsett om brytpunkten finns eller inte. Detta skulle också behöva upptäckas och hanteras av en geometriskuggare, även om utslaktning av degenererat geometri kommer att ske i rastreringsstadiet.
När du monterar primitiver är ett sekundärt syfte med IA att koppla systemgenererade värden för att göra skuggningar mer effektiva. Systemgenererade värden är textsträngar som även kallas semantik. Alla tre skuggningsstegen konstrueras från en gemensam skuggningskärna och skuggningskärnan använder systemgenererade värden (till exempel ett primitivt ID, ett instans-ID eller ett hörn-ID) så att en skuggningsfas kan minska bearbetningen till endast de primitiver, instanser eller hörn som inte redan har bearbetats.
Som visas i pipeline-block-diagram, när IA-fasen läser data från minnet (sammanställer data i primitiver och kopplar systemgenererade värden) matas data ut till hörnskuggningssteget.
I det här avsnittet
| Ämne | Beskrivning |
|---|---|
|
Komma igång med Input-Assembler Stage |
Det finns några steg som krävs för att initiera IA-fasen (input-assembler). Du måste till exempel skapa buffertresurser med hörndata som pipelinen behöver, berätta för IA-fasen var buffertarna finns och vilken typ av data de innehåller och ange vilken typ av primitiver som ska monteras från data. |
|
primitiva topologier |
Direct3D 10 och högre stöder flera primitiva typer (eller topologier) som representeras av den D3D_PRIMITIVE_TOPOLOGY uppräknade typen. Dessa typer definierar hur hörn tolkas och återges av pipelinen. |
|
Använda Input-Assembler steget utan buffertar |
Det är inte nödvändigt att skapa och binda buffertar om skuggningarna inte kräver buffertar. Det här avsnittet innehåller ett exempel på enkla hörn och pixelskuggor som ritar en enda triangel. |
|
Använda System-Generated värden |
Systemgenererade värden genereras av IA-fasen (baserat på användarindata semantik) för att tillåta vissa effektivitetsvinster i skuggningsåtgärder. |