Bagikan melalui


Sumber daya ubin volume (Direct3D 12)

Tekstur volume (3D) dapat digunakan sebagai sumber daya petak peta, mencatat bahwa resolusi petak peta bersifat tiga dimensi.

Gambaran Umum

Sumber daya ubin memisahkan objek sumber daya Direct3D dari memori cadangannya (sumber daya di masa lalu memiliki hubungan 1:1 dengan memori cadangannya). Ini memungkinkan berbagai skenario menarik seperti streaming dalam data tekstur dan menggunakan kembali atau mengurangi penggunaan memori.

Sumber daya ubin tekstur 2D didukung di Direct3D 11.2. Dukungan opsional untuk tekstur ubin 3D tersedia untuk Direct3D 12 dan Direct3D 11.3 (lihat D3D12_TILED_RESOURCES_TIER).

Dimensi sumber daya umum yang digunakan dalam petak peta adalah petak peta 4 x 4 untuk tekstur 2D, dan petak peta 4 x 4 x 4 untuk tekstur 3D.

Bit/piksel (1 sampel/piksel) Dimensi petak peta (piksel, w x h x d)
8 64x32x32
16 32x32x32
32 32x32x16
64 32x16x16
128 16x16x16
SM 1,4 128x64x16
SM 2,3,5,6,7 64x64x16

Perhatikan format berikut ini tidak didukung dengan sumber daya ubin: format 96bpp, format video, R1_UNORM, R8G8_B8G8_UNORM, R8R8_G8B8_UNORM.

Dalam diagram di bawah ini, abu-abu gelap mewakili petak peta NULL.

Pemetaan default sumber daya ubin 3D tekstur (mip paling rinci)

pemetaan default sumber daya 3 dimensi berjenjang

Pemetaan default sumber daya ubin 3D tekstur (mip kedua paling detail)

menunjukkan mip kedua yang paling detail

Sumber daya ubin 3D tekstur (mip paling rinci)

Kode berikut menyiapkan sumber daya ubin 3D pada mip yang paling rinci.

D3D12_TILED_RESOURCE_COORDINATE trCoord{};
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D12_TILE_REGION_SIZE trSize{};
trSize.bUseBox = false;
trSize.NumTiles = 63;

mip paling detail untuk tekstur tiga dimensi

Sumber daya ubin 3D tekstur (mip kedua paling detail)

Kode berikut menyiapkan sumber daya ubin 3D, dan mip kedua yang paling rinci.

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

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

mip terperinci kedua untuk tekstur tiga dimensi

Sumber daya ubin 3D tekstur (petak peta tunggal)

Kode berikut menyiapkan sumber daya petak peta tunggal.

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

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

sumber daya tiga dimensi berjenjang tunggal

Sumber daya ubin 3D tekstur (kotak seragam)

Kode berikut menyiapkan sumber daya petak peta kotak seragam (perhatikan pernyataan trSize.bUseBox = true;) :

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

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

kotak seragam

API sumber daya berjenjang

Panggilan API yang sama digunakan untuk sumber daya ubin 2D dan 3D.

Enum

Struct

Metode