Sdílet prostřednictvím


Prostředky s dlaždicemi svazku

Textury svazků (3D) lze použít jako dlaždice prostředků, a to znamená, že rozlišení dlaždic je trojrozměrné.

Přehled

Dlaždice prostředků odděluje objekt prostředku D3D od jeho záložní paměti (prostředky v minulosti měly vztah 1:1 s jejich záložní pamětí). To umožňuje řadu zajímavých scénářů, jako je streamování dat textury a opakované použití nebo snížení využití paměti.

2D dlaždice prostředky jsou podporovány v D3D11.2. D3D12 a D3D11.3 přidávají podporu pro 3D dlaždicové textury.

Typické rozměry prostředků používané při provazování jsou dlaždice 4 x 4 pro 2D textury a 4 x 4 dlaždice pro 3D textury.

Bity/pixel (1 vzorek/pixel) Rozměry dlaždic (pixely, w x h x d)
8 64x32x32
16 32x32x32
32 32x32x16
64 32x16x16
128 16x16x16
BC 1,4 128x64x16
BC 2,3,5,6,7 64x64x16

 

Všimněte si, že u dlaždicových prostředků nejsou podporovány následující formáty: formáty 96bpp, formáty videa, R1_UNORM, R8G8_B8G8_UNORM, R8R8_G8B8_UNORM.

V diagramech pod tmavě šedou barvou představuje dlaždice NULL.

Výchozí mapování 3D dlaždicového prostředku textury (nejpodrobnější mip)

výchozí mapování nejpodrobnějších mip

Výchozí mapování 3D dlaždicového prostředku textury (druhé nejpodrobnější mip)

výchozí mapování druhého nejpodrobnějšího mip

3D dlaždicový prostředek textury (nejpodrobnější mip)

Následující kód nastaví 3D dlaždicový prostředek na nejpodrobnější mip.

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 63;

nejpodrobnější mapování 3d dlaždicového prostředku

Texturový 3D dlaždicový prostředek (druhý nejpodrobnější mip)

Následující kód nastaví 3D dlaždicový prostředek a druhý nejpodrobnější mip:

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 1;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 6;

druhé nejpodrobnější mapování 3d dlaždicového prostředku

3D dlaždicový prostředek textury (jedna dlaždice)

Následující kód nastaví prostředek jedné dlaždice:

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 1;
trCoord.Z = 1;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

jednu dlaždici

Texturový 3D dlaždicový zdroj (Uniform Box)

Následující kód nastaví prostředek s dlaždicí Uniform Box (všimněte si příkazu trSize.bUseBox = true;) :

D3D11_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 0;
trCoord.Y = 1;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

uniformní krabice

Rozhraní API prostředků d3D11.3 s dlaždicemi

Stejná volání rozhraní API se používají pro 2D i 3D dlaždicové prostředky:

Výčty

Struktury

Metody

funkce Direct3D 11.3