Muat (Objek Tekstur DirectX HLSL)
Membaca data texel tanpa pemfilteran atau pengambilan sampel apa pun.
ret Object.Load(
[typeX SampleIndex, ] [typeX Offset ] |
typeX menunjukkan bahwa ada empat jenis yang mungkin: int, int2, int3 atau int4.
Parameter
-
Objek
-
Jenis objek tekstur (kecuali TextureCube atau TextureCubeArray).
-
Lokasi
-
[in] Koordinat tekstur; komponen terakhir menentukan tingkat mipmap. Metode ini menggunakan sistem koordinat berbasis 0 dan bukan sistem UV 0,0-1.0. Jenis argumen tergantung pada jenis objek tekstur.
Jenis Objek Jenis Parameter Buffer int Texture1D, Texture2DMS int2 Texture1DArray, Texture2D, Texture2DMSArray int3 Texture2DArray, Texture3D int4 Misalnya, untuk mengakses tekstur 2D, berikan koordinat texel bilangan bulat untuk dua komponen pertama dan tingkat mipmap untuk komponen ketiga.
Catatan
Ketika satu atau beberapa koordinat di Lokasi melebihi dimensi tingkat tekstur u, v, atau w mipmap, Muat mengembalikan nol di semua komponen. Direct3D menjamin untuk mengembalikan nol untuk sumber daya apa pun yang diakses di luar batas.
-
SampleIndex
-
[in] Indeks pengambilan sampel. Diperlukan untuk tekstur multi-sampel. Tidak didukung untuk tekstur lain.
Jenis Tekstur Jenis Parameter Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray tidak didukung Texture2DMS, Texture2DMSArray¹ int -
Offset
-
[in] Offset opsional diterapkan ke koordinat tekstur sebelum pengambilan sampel. Jenis offset tergantung pada jenis objek tekstur, dan harus statis.
Jenis Tekstur Jenis Parameter Texture1D, Texture1DArray int Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2 Texture3D int3 Catatan
SampleIndex harus selalu ditentukan terlebih dahulu dengan tekstur multi-sampel.
Tampilkan Nilai
Jenis pengembalian cocok dengan jenis dalam deklarasi Objek . Misalnya, objek Texture2D yang dinyatakan sebagai "Texture2d<uint4> myTexture;" memiliki nilai pengembalian jenis uint4.
Minimum Shader Model
Fungsi ini didukung dalam model shader berikut.
vs_4_0 | vs_4_1¹ | ps_4_0 | ps_4_1¹ | gs_4_0 | gs_4_1¹ |
---|---|---|---|---|---|
x | x | x | x | x | x |
- Shader Model 4.1 tersedia di Direct3D 10.1 atau yang lebih tinggi.
Contoh
Contoh kode parsial ini berasal dari file Paint.fx dalam Sampel AdvancedParticles.
// Object Declarations
Buffer<float4> g_ParticleBuffer;
// Shader body calling the intrinsic function
float4 PSPaint(PSQuadIn input) : SV_Target
{
...
for( int i=g_ParticleStart; i<g_NumParticles; i+=g_ParticleStep )
{
...
// load the particle
float4 particlePos = g_ParticleBuffer.Load( i*4 );
float4 particleColor = g_ParticleBuffer.Load( (i*4) + 2 );
...
}
...
}
Topik terkait