SampleLevel (Objek Tekstur HLSL DirectX)
Sampel tekstur menggunakan offset tingkat mipmap.
<Jenis> Templat Object.SampleLevel( sampler_state S, Lokasi float, FLOAT LOD [, int Offset] );
Fungsi ini mirip dengan Sampel kecuali menggunakan tingkat LOD (di komponen terakhir parameter lokasi) untuk memilih tingkat mipmap. Misalnya, tekstur 2D menggunakan dua komponen pertama untuk koordinat uv dan komponen ketiga untuk tingkat mipmap.
Parameter
Item | Deskripsi | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Objek |
Jenis objek tekstur apa pun (kecuali Texture2DMS dan Texture2DMSArray). |
||||||||||
S |
[in] Status Sampler. Ini adalah objek yang dideklarasikan dalam file efek yang berisi penetapan status. |
||||||||||
Lokasi |
[in] Koordinat tekstur. Jenis argumen tergantung pada jenis objek tekstur.
Jika objek tekstur adalah array, komponen terakhir adalah indeks array. |
||||||||||
LOD |
[in] Angka yang menentukan tingkat mipmap. Jika nilainya = 0, nol'th (peta terbesar) digunakan. Nilai pecahan (jika disediakan) digunakan untuk menginterpolasi antara dua tingkat mipmap. |
||||||||||
Offset |
[in] Offset koordinat tekstur opsional, yang dapat digunakan untuk jenis objek tekstur apa pun; offset diterapkan ke lokasi sebelum pengambilan sampel. Offset tekstur harus statis. Jenis argumen tergantung pada jenis objek tekstur. Untuk informasi selengkapnya, lihat Menerapkan offset koordinat tekstur.
|
Tampilkan Nilai
Jenis templat tekstur, yang mungkin merupakan vektor tunggal atau multi-komponen. Format didasarkan pada DXGI_FORMAT tekstur.
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 |
- TextureCubeArray tersedia dalam Model Shader 4.1 atau yang lebih tinggi.
- Shader Model 4.1 tersedia di Direct3D 10.1 atau yang lebih tinggi.
Contoh
Contoh kode parsial ini berasal dari file Instancing.fx dalam Sampel Instancing10.
// Object Declarations
Texture1D g_txRandom;
SamplerState g_samPoint
{
Filter = MIN_MAG_MIP_POINT;
AddressU = Wrap;
AddressV = Wrap;
};
// Shader body calling the intrinsic function
float3 RandomDir(float fOffset)
{
float tCoord = (fOffset) / 300.0;
return g_txRandom.SampleLevel( g_samPoint, tCoord, 0 );
...