Sumber Daya Berjenjang Volume
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 D3D 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 D3D11.2. D3D12 dan D3D11.3 menambahkan dukungan untuk tekstur petak peta 3D.
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 abu-abu gelap mewakili petak peta NULL.
- Pemetaan default Sumber Daya Ubin 3D Tekstur (mip paling rinci)
- Pemetaan default Sumber Daya Ubin 3D Tekstur (mip terperinci kedua)
- Sumber Daya Ubin 3D Tekstur (mip paling rinci)
- Sumber Daya Ubin 3D Tekstur (mip terperinci kedua)
- Sumber Daya Ubin 3D Tekstur (Petak Peta Tunggal)
- Sumber Daya Ubin 3D Tekstur (Kotak Seragam)
Pemetaan default Sumber Daya Ubin 3D Tekstur (mip paling rinci)
Pemetaan default Sumber Daya Ubin 3D Tekstur (mip terperinci kedua)
Sumber Daya Ubin 3D Tekstur (mip paling rinci)
Kode berikut menyiapkan sumber daya ubin 3D pada mip yang paling rinci.
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;
Sumber Daya Ubin 3D Tekstur (mip terperinci kedua)
Kode berikut menyiapkan sumber daya ubin 3D, dan mip kedua yang paling rinci:
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;
Sumber Daya Ubin 3D Tekstur (Petak Peta Tunggal)
Kode berikut menyiapkan sumber daya Petak Peta Tunggal:
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;
Sumber Daya Ubin 3D Tekstur (Kotak Seragam)
Kode berikut menyiapkan sumber daya petak Peta Uniform Box (perhatikan pernyataan 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;
D3D11.3 API Sumber Daya Berjenjang
Panggilan API yang sama digunakan untuk sumber daya ubin 2D dan 3D:
Enum
- D3D11_TILED_RESOURCES_TIER : menentukan tingkat dukungan sumber daya ubin.
- D3D11_FORMAT_SUPPORT2 : digunakan untuk menguji dukungan sumber daya ubin.
- D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG : menentukan dukungan sumber daya ubin dalam sumber daya multi-pengambilan sampel.
- D3D11_TILE_COPY_FLAGS : menyimpan bendera untuk menyalin ke dan dari sumber daya berbintik bergetar dan buffer linier.
Struktur
- D3D11_TILED_RESOURCE_COORDINATE : memegang referensi koordinat x, y, dan z, dan subsumber daya. Perhatikan bahwa ada kelas pembantu: CD3D11_TILED_RESOURCE_COORDINATE.
- D3D11_TILE_REGION_SIZE : menentukan ukuran, dan jumlah petak peta, dari wilayah petak peta.
- D3D11_TILE_SHAPE : bentuk petak peta sebagai lebar, tinggi, dan kedalaman texel.
- D3D11_FEATURE_DATA_D3D11_OPTIONS1: memegang tingkat tingkat sumber daya petak peta yang didukung.
Metode
- ID3D11Device::CheckFeatureSupport : digunakan untuk menentukan fitur apa, dan pada tingkat apa, didukung oleh perangkat keras saat ini.
- ID3D11DeviceContext2::CopyTiles : menyalin petak peta dari buffer ke sumber daya ubin atau sebaliknya.
- ID3D11DeviceContext2::UpdateTileMappings : memperbarui pemetaan lokasi petak peta di sumber daya ubin ke lokasi memori di kumpulan petak peta.
- ID3D11DeviceContext2::CopyTileMappings : menyalin pemetaan dari sumber daya petak sumber ke sumber daya ubin tujuan.
- ID3D11DeviceContext2::GetResourceTiling : mendapatkan info tentang bagaimana sumber daya ubin dipecah menjadi petak peta.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk