Mengakses Sumber Daya
Ada beberapa cara untuk mengakses sumber daya. Terlepas dari itu, Direct3D menjamin untuk mengembalikan nol untuk sumber daya apa pun yang diakses di luar batas.
Offset Byte Akses
Dua jenis buffer baru dapat diakses menggunakan offset byte:
- ByteAddressBuffer adalah buffer baca-saja.
- RWByteAddressBuffer adalah buffer baca atau tulis.
Akses Menurut Indeks
Jenis sumber daya dapat menggunakan indeks untuk mereferensikan lokasi tertentu di sumber daya. Pertimbangkan contoh ini:
uint2 pos;
Texture2D<float4> myTexture;
float4 myVar = myTexture[pos];
Contoh ini menetapkan 4 nilai float yang disimpan di texel yang terletak di posisi pos di sumber daya tekstur myTexture 2D ke variabel myVar .
Catatan
Default untuk mengakses tekstur dengan cara ini adalah mipmap level zero (tingkat yang paling rinci).
Catatan
Baris "float4 myVar = myTexture[pos];" setara dengan "float4 myVar = myTexture.Load(uint3(pos,0));". Akses menurut indeks adalah peningkatan sintaks HLSL baru.
Catatan
Pengkompilasi dalam SDK DirectX versi Juni 2010 dan yang lebih baru memungkinkan Anda mengindeks semua jenis sumber daya kecuali untuk buffer alamat byte.
Catatan
Kompilator Juni 2010 dan yang lebih baru memungkinkan Anda mendeklarasikan variabel sumber daya lokal. Anda dapat menetapkan sumber daya yang ditentukan secara global (seperti myTexture) ke variabel ini dan menggunakannya dengan cara yang sama seperti rekan global mereka.
Metode Access By Mips
Objek tekstur memiliki metode mips (misalnya, Texture2D.mips), yang dapat Anda gunakan untuk menentukan tingkat mipmap. Contoh ini membaca warna yang disimpan di (7.16) pada tingkat mipmap 2 dalam tekstur 2D:
uint x = 7;
uint y = 16;
float4 myColor = myTexture.mips[2][uint2(x,y)];
Ini adalah peningkatan dari kompilator Juni 2010 dan yang lebih baru. Ekspresi "myTexture.mips[2][uint2(x,y)]" setara dengan "myTexture.Load(uint3(x,y,2))".
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