Texturvyer (Direct3D 10)

I Direct3D 10 används strukturresurser med en vy, vilket är en mekanism för maskinvarutolkning av en resurs i minnet. En vy gör att en viss pipelinefas endast kan komma åt de underresurser den behöver, i den representation som programmet vill ha.

En vy stöder begreppet en typlös resurs. En typlös resurs är en resurs som skapats med en viss storlek men inte en specifik datatyp. Data tolkas dynamiskt när de är bundna till pipelinen.

Följande bild visar ett exempel på bindning av en 2D-strukturmatris med 6 texturer som en skuggningsresurs genom att skapa en skuggningsresursvy för den. Resursen adresseras sedan som en matris med texturer. (Obs! En underresurs kan inte bindas som både indata och utdata till pipelinen samtidigt.)

bild av en strukturmatris med sex texturer

När du använder en 2D-strukturmatris som ett återgivningsmål kan resursen ses som en matris med 2D-texturer (6 i det här exemplet) med mipmap-nivåer (3 i det här exemplet).

Skapa ett visningsobjekt för ett återgivningsmål genom att anropa CreateRenderTargetView. Anropa sedan OMSetRenderTargets för att ange återgivningsmålvyn till pipelinen. Rendera till återgivningsmålen genom att anropa Rita och använda RenderTargetArrayIndex för att indexera till rätt struktur i matrisen. Du kan använda en underresurs (en mipmap-nivå, matrisindexkombination) för att binda till valfri matris med underresurser. Så du kan binda till den andra mipmap-nivån och bara uppdatera den här mipmap-nivån om du vill, som i följande bild.

bild av bindning endast till den andra mipmap-nivån för en strukturmatris

Skillnader mellan Direct3D 9 och Direct3D 10:

  • I Direct3D 10 binder du inte längre en resurs direkt till pipelinen, du skapar en vy över en resurs och ställer sedan in vyn på pipelinen. Detta gör att validering och mappning i körningen och drivrutinen kan ske när vyn skapas, vilket minimerar typkontroll vid bindningstid.

 

resurser (Direct3D 10)