enumerasi D3D11_TEXTURE_LAYOUT (d3d11_3.h)
Menentukan opsi tata letak tekstur.
Sintaks
typedef enum D3D11_TEXTURE_LAYOUT {
D3D11_TEXTURE_LAYOUT_UNDEFINED = 0,
D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 1,
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 2
} ;
Konstanta
D3D11_TEXTURE_LAYOUT_UNDEFINED Nilai: 0 Tata letak tekstur tidak terdefinisi, dan dipilih oleh driver. |
D3D11_TEXTURE_LAYOUT_ROW_MAJOR Nilai: 1 Data untuk tekstur disimpan dalam urutan utama baris (terkadang disebut pitch-linear). |
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE Nilai: 2 Tekstur default menggunakan pola swizzle standar. |
Keterangan
Enumerasi ini mengontrol pola lincah tekstur default dan mengaktifkan dukungan peta pada tekstur default. Penelepon harus meminta D3D11_FEATURE_DATA_D3D11_OPTIONS2 untuk memastikan bahwa setiap opsi didukung.
Format moncong standar berlaku dalam setiap gugus berukuran halaman, dan halaman ditata dalam urutan linier sehubungan satu sama lain. Pola interleave 16-bit mendefinisikan konversi dari lokasi intra-halaman yang di-swizzled ke lokasi pasca-bergelimpangan.
Untuk menunjukkan, pertimbangkan format swizzle 32bpp di atas. Ini diwakili oleh masker interleave berikut, di mana bit di sebelah kiri paling signifikan.UINT xBytesMask = 1010 1010 1000 1111
UINT yMask = 0101 0101 0111 0000
Untuk menghitung alamat bergelob, kode berikut dapat digunakan (di mana instruksi _pdep_u32 didukung):
UINT swizzledOffset = resourceBaseOffset +
_pdep_u32(xOffset, xBytesMask) +
_pdep_u32(yOffset, yBytesMask);
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3d11_3.h |