SampleGrad (Objek Tekstur DirectX HLSL)
Sampel tekstur menggunakan gradien untuk memengaruhi cara lokasi sampel dihitung.
<Jenis> Templat Object.SampleGrad( sampler_state S, Lokasi float, float DDX, float DDY [, int Offset] );
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.
|
||||||||||||
DDX |
[in] Tingkat perubahan geometri permukaan ke arah x. Jenis argumen tergantung pada jenis objek tekstur.
|
||||||||||||
DDY |
[in] Tingkat perubahan geometri permukaan ke arah y. Jenis argumen tergantung pada jenis objek tekstur.
|
||||||||||||
Offset |
[in] Offset koordinat tekstur opsional, yang dapat digunakan untuk jenis objek tekstur apa pun. Offset diterapkan ke lokasi sebelum pengambilan sampel. Gunakan offset hanya pada miplevel bilangan bulat; jika tidak, Anda mungkin mendapatkan hasil yang tidak diterjemahkan dengan baik ke perangkat keras. Jenis argumen tergantung pada jenis objek tekstur. Untuk informasi selengkapnya, lihatMenerapkan Offset Bilangan Bulat.
|
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 Shader Model 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 MotionBlur.fx dalam Sampel MotionBlur10.
// Object Declarations
Texture2D g_txDiffuse;
SamplerState g_samLinear
{
Filter = ANISOTROPIC;
MaxAnisotropy = 8;
AddressU = Wrap;
AddressV = Wrap;
};
struct VSSceneOut
{
float4 Pos : SV_POSITION;
float4 Color : COLOR0;
float2 Tex : TEXCOORD;
float2 Aniso : ANISOTROPY;
};
float4 PSSceneMain( VSSceneOut Input ) : SV_TARGET
{
float2 ddx = Input.Aniso;
float2 ddy = Input.Aniso;
// Shader body calling the intrinsic function
float4 diff = g_txDiffuse.SampleGrad( g_samLinear, Input.Tex, ddx, ddy);
...
}
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