Dela via


Strukturkoordinatbearbetning (Direct3D 9)

Följande diagram visar den väg som texturkoordinaterna tar från källan, genom bearbetning och till rasterisatorn.

diagram över sökvägen för strukturkoordinater från en källa till rastreringsverktyget

Det finns två källor från vilka systemet kan rita strukturkoordinater. För en viss strukturfas kan du använda strukturkoordinater som ingår i hörnformatet (D3DFVF_TEX1 via D3DFVF_TEX8), eller så kan du använda strukturkoordinater som genereras automatiskt av Direct3D. Mer information om det senare fallet finns i Automatiskt genererade strukturkoordinater (Direct3D 9). Om D3DTSS_TEXTURETRANSFORMFLAGS strukturstegstillståndet för det aktuella struktursteget är inställt på D3DTTFF_DISABLE (standardinställningen) omvandlas inte indatakoordinater. Om D3DTSS_TEXTURETRANSFORMFLAGS> är inställt på något annat värde tillämpas transformeringsmatrisen för den fasen på indatakoordinaterna.

Den D3DTEXTURETRANSFORMFLAGS uppräknade typen definierar giltiga värden för D3DTSS_TEXTURETRANSFORMFLAGS strukturstegstillstånd. Med undantag för flaggan D3DTTFF_DISABLE, som kringgår transformering av strukturkoordinat, konfigurerar värdena som definieras i den här uppräkningen antalet utdatakoordinater som systemet skickar till rastreringen. D3DTTFF_COUNT1 genom D3DTTFF_COUNT4 flaggor instruerar systemet att skicka ett, två, tre eller fyra element från utdatakoordinaterna till rastreringsverktyget.

Flaggan D3DTTFF_PROJECTED är speciell: den talar om för systemet att strukturkoordinaterna är för en projicerad struktur. Kombinera flaggan D3DTTFF_PROJECTED med en annan medlem i D3DTEXTURETRANSFORMFLAGS för att instruera rastreringsenheten att dela alla element med det sista elementet innan rastreringen utförs. När du till exempel uttryckligen använder treelementsstrukturkoordinater, eller när omvandlingen resulterar i en treelements strukturkoordinat, kan du kombinera flaggorna D3DTTFF_COUNT3 och D3DTTFF_PROJECTED så att rastreringen delar upp de två första elementen med de sista och genererar de 2D-strukturkoordinater som krävs för att hantera en 2D-struktur.

Not

Med undantag för kubikmiljökartor och volymstrukturer kan rastratorer inte hantera texturer med hjälp av strukturkoordinater med fler än två element. Om du anger fler element än vad som kan användas för att hantera den aktuella strukturen för den fasen ignoreras de överflödiga elementen. Detta gäller även när du använder 2D-strukturkoordinater för en 1D-struktur.

 

Ytterligare information finns i följande avsnitt.

strukturkoordinater