Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tabel berikut mencantumkan fungsi intrinsik yang tersedia di HLSL. Setiap fungsi memiliki deskripsi singkat, dan tautan ke halaman referensi yang memiliki detail lebih lanjut tentang argumen input dan jenis pengembalian.
Nama | Deskripsi | Model shader minimum |
---|---|---|
Membatalkan | Mengakhiri panggilan gambar atau pengiriman saat ini yang sedang dijalankan. | 4 |
abs | Nilai absolut (per komponen). | 1¹ |
acos | Mengembalikan arccosine dari setiap komponen x. | 1¹ |
all | Uji apakah semua komponen x bukan nol. | 1¹ |
AllMemoryBarrier | Memblokir eksekusi semua utas dalam grup hingga semua akses memori selesai. | 5 |
AllMemoryBarrierWithGroupSync | Memblokir eksekusi semua utas dalam grup hingga semua akses memori selesai dan semua utas dalam grup telah mencapai panggilan ini. | 5 |
any | Uji apakah ada komponen x yang bukan nol. | 1¹ |
asdouble | Menginterpretasikan ulang nilai cast ke dalam ganda. | 5 |
asfloat | Mengonversi jenis input menjadi float. | 4 |
asin | Mengembalikan arkasinus dari setiap komponen x. | 1¹ |
asint | Mengonversi jenis input menjadi bilangan bulat. | 4 |
asuint | Menginterpretrasi ulang pola bit dari jenis 64-bit ke uint. | 5 |
asuint | Konversi jenis input menjadi bilangan bulat yang tidak ditandatangani. | 4 |
atan | Mengembalikan arka tangen x. | 1¹ |
atan2 | Mengembalikan arka tangen dari dua nilai (x,y). | 1¹ |
Ceil | Mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan x. | 1¹ |
CheckAccessFullyMapped | Menentukan apakah semua nilai dari sampel atau operasi Muat diakses petak peta yang dipetakan dalam sumber daya petak peta. | 5 |
Clamp | Menjepit x ke rentang [min, maks]. | 1¹ |
Klip | Membuang piksel saat ini, jika ada komponen x yang kurang dari nol. | 1¹ |
cos | Mengembalikan kosinus x. | 1¹ |
cosh | Mengembalikan kosinus hiperbolik x. | 1¹ |
countbits | Menghitung jumlah bit (per komponen) dalam bilangan bulat input. | 5 |
Cross | Mengembalikan produk silang dari dua vektor 3D. | 1¹ |
D3DCOLORtoUBYTE4 | Swizzles dan menskalakan komponen vektor 4D xto mengkompensasi kurangnya dukungan UBYTE4 di beberapa perangkat keras. | 1¹ |
ddx | Mengembalikan turunan parsial x sehubungan dengan koordinat x spasi layar. | 2¹ |
ddx_coarse | Menghitung turunan parsial presisi rendah sehubungan dengan ruang layar x-koordinat. | 5 |
ddx_fine | Menghitung turunan parsial presisi tinggi sehubungan dengan ruang layar x-koordinat. | 5 |
ddy | Mengembalikan turunan parsial x sehubungan dengan koordinat y spasi layar. | 2¹ |
ddy_coarse | Menghitung turunan parsial presisi rendah sehubungan dengan koordinat y ruang layar. | 5 |
ddy_fine | Menghitung turunan parsial presisi tinggi sehubungan dengan koordinat y ruang layar. | 5 |
degrees | Mengonversi x dari radian ke derajat. | 1¹ |
Penentu | Mengembalikan penentu matriks kuadrat m. | 1¹ |
DeviceMemoryBarrier | Memblokir eksekusi semua utas dalam grup hingga semua akses memori perangkat selesai. | 5 |
DeviceMemoryBarrierWithGroupSync | Memblokir eksekusi semua utas dalam grup hingga semua akses memori perangkat selesai dan semua utas dalam grup telah mencapai panggilan ini. | 5 |
Jarak | Mengembalikan jarak antara dua titik. | 1¹ |
Dot | Mengembalikan produk titik dari dua vektor. | 1 |
Dst | Menghitung vektor jarak. | 5 |
errorf | Mengirimkan pesan kesalahan ke antrean informasi. | 4 |
EvaluateAttributeCentroid | Mengevaluasi pada sentroid piksel. | 5 |
EvaluateAttributeAtSample | Mengevaluasi di lokasi sampel terindeks. | 5 |
EvaluateAttributeSnapped | Mengevaluasi pada piksel sentroid dengan offset. | 5 |
exp | Mengembalikan eksponen base-e. | 1¹ |
exp2 | Basis 2 eksponen (per komponen). | 1¹ |
f16tof32 | Mengonversi float16 yang disimpan di bagian bawah uint menjadi float. | 5 |
f32tof16 | Mengonversi input menjadi jenis float16. | 5 |
faceforward | Mengembalikan -n * sign(dot(i, ng)). | 1¹ |
firstbithigh | Mendapatkan lokasi bit set pertama mulai dari bit urutan tertinggi dan bekerja ke bawah, per komponen. | 5 |
firstbitlow | Mengembalikan lokasi bit set pertama yang dimulai dari bit urutan terendah dan bekerja ke atas, per komponen. | 5 |
lantai | Mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan x. | 1¹ |
fma | Mengembalikan presisi ganda yang menyatukan penambahan perkalian * b + c. | 5 |
fmod | Mengembalikan sisa titik mengambang dari x/y. | 1¹ |
frac | Mengembalikan bagian pecahan dari x. | 1¹ |
frexp | Mengembalikan mantissa dan eksponen x. | 2¹ |
fwidth | Mengembalikan abs(ddx(x)) + abs(ddy(x)) | 2¹ |
GetRenderTargetSampleCount | Mengembalikan jumlah sampel target render. | 4 |
GetRenderTargetSamplePosition | Mengembalikan posisi sampel (x,y) untuk indeks sampel tertentu. | 4 |
GroupMemoryBarrier | Memblokir eksekusi semua utas dalam grup hingga semua akses bersama grup selesai. | 5 |
GroupMemoryBarrierWithGroupSync | Memblokir eksekusi semua utas dalam grup hingga semua akses bersama grup selesai dan semua utas dalam grup telah mencapai panggilan ini. | 5 |
InterlockedAdd | Melakukan penambahan nilai atom yang dijamin ke variabel sumber daya dest. | 5 |
InterlockedAnd | Melakukan atom terjamin dan. | 5 |
InterlockedCompareExchange | Secara atom membandingkan input dengan nilai perbandingan dan menukar hasilnya. | 5 |
InterlockedCompareStore | Secara atom membandingkan input dengan nilai perbandingan. | 5 |
InterlockedExchange | Menetapkan nilai untuk dest dan mengembalikan nilai asli. | 5 |
InterlockedMax | Melakukan maks atom terjamin. | 5 |
InterlockedMin | Melakukan min atom yang dijamin. | 5 |
InterlockedOr | Melakukan atom terjamin atau. | 5 |
InterlockedXor | Melakukan xor atom yang dijamin. | 5 |
isfinite | Mengembalikan true jika x terbatas, jika tidak salah. | 1¹ |
isinf | Mengembalikan true jika x adalah +INF atau -INF, jika tidak salah. | 1¹ |
isnan | Mengembalikan true jika x adalah NAN atau QNAN, jika tidak salah. | 1¹ |
ldexp | Mengembalikan x * 2exp | 1¹ |
length | Mengembalikan panjang vektor v. | 1¹ |
lerp | Mengembalikan x + s(y - x). | 1¹ |
Menyalakan | Mengembalikan vektor pencahayaan (sekitar, difus, spekular, 1) | 1¹ |
log | Mengembalikan logaritma base-e x. | 1¹ |
log10 | Mengembalikan logaritma base-10 dari x. | 1¹ |
log2 | Mengembalikan logaritma base-2 dari x. | 1¹ |
Gila | Melakukan operasi perkalian/penambahan aritmatika pada tiga nilai. | 5 |
max | Memilih yang lebih besar dari x dan y. | 1¹ |
min | Memilih lebih sedikit dari x dan y. | 1¹ |
modf | Memisahkan nilai x menjadi bagian pecahan dan bilangan bulat. | 1¹ |
msad4 | Membandingkan nilai referensi 4 byte dan nilai sumber 8 byte dan mengumpulkan vektor 4 jumlah. | 5 |
mul | Melakukan perkalian matriks menggunakan x dan y. | 1 |
Kebisingan | Menghasilkan nilai acak menggunakan algoritma Perlin-noise. | 1¹ |
normalize | Mengembalikan vektor yang dinormalisasi. | 1¹ |
pow | Mengembalikan xy. | 1¹ |
printf | Mengirimkan pesan shader kustom ke antrean informasi. | 4 |
Process2DQuadTessFactorsAvg | Menghasilkan faktor tessellation yang dikoreksi untuk patch quad. | 5 |
Process2DQuadTessFactorsMax | Menghasilkan faktor tessellation yang dikoreksi untuk patch quad. | 5 |
Process2DQuadTessFactorsMin | Menghasilkan faktor tessellation yang dikoreksi untuk patch quad. | 5 |
ProcessIsolineTessFactors | Menghasilkan faktor tesselulasi bulat untuk isoline. | 5 |
ProcessQuadTessFactorsAvg | Menghasilkan faktor tessellation yang dikoreksi untuk patch quad. | 5 |
ProcessQuadTessFactorsMax | Menghasilkan faktor tessellation yang dikoreksi untuk patch quad. | 5 |
ProcessQuadTessFactorsMin | Menghasilkan faktor tessellation yang dikoreksi untuk patch quad. | 5 |
ProcessTriTessFactorsAvg | Menghasilkan faktor tesselulasi yang dikoreksi untuk patch tri. | 5 |
ProcessTriTessFactorsMax | Menghasilkan faktor tesselulasi yang dikoreksi untuk patch tri. | 5 |
ProcessTriTessFactorsMin | Menghasilkan faktor tesselulasi yang dikoreksi untuk patch tri. | 5 |
radians | Mengonversi x dari derajat ke radian. | 1 |
rcp | Menghitung resiprokal per komponen yang cepat, perkiraan. | 5 |
Mencerminkan | Mengembalikan vektor pantulan. | 1 |
refraks | Mengembalikan vektor pembiasan. | 1¹ |
reversebits | Membalik urutan bit, per komponen. | 5 |
round | Membulatkan x ke bilangan bulat terdekat | 1¹ |
rsqrt | Mengembalikan 1 / sqrt(x) | 1¹ |
Jenuh | Menjepit x ke rentang [0, 1] | 1 |
sign | Menghitung tanda x. | 1¹ |
sin | Mengembalikan sinus x | 1¹ |
sincos | Mengembalikan sinus dan kosinus x. | 1¹ |
sinh | Mengembalikan sinus hiperbolik x | 1¹ |
smoothstep | Mengembalikan interpolasi Hermite halus antara 0 dan 1. | 1¹ |
sqrt | Akar kuadrat (per komponen) | 1¹ |
Langkah | Mengembalikan (x >= a) ? 1 : 0 | 1¹ |
tan | Mengembalikan tangen x | 1¹ |
tanh | Mengembalikan tangen hiperbolik dari x | 1¹ |
tex1D(s, t) | Pencarian tekstur 1D. | 1 |
tex1D(s, t, ddx, ddy) | Pencarian tekstur 1D. | 2¹ |
tex1Dbias | Pencarian tekstur 1D dengan bias. | 2¹ |
tex1Dgrad | Pencarian tekstur 1D dengan gradien. | 2¹ |
tex1Dlod | Pencarian tekstur 1D dengan LOD. | 3¹ |
tex1Dproj | Pencarian tekstur 1D dengan pembagian proyektif. | 2¹ |
tex2D(s, t) | Pencarian tekstur 2D. | 1¹ |
tex2D(s, t, ddx, ddy) | Pencarian tekstur 2D. | 2¹ |
tex2Dbias | Pencarian tekstur 2D dengan bias. | 2¹ |
tex2Dgrad | Pencarian tekstur 2D dengan gradien. | 2¹ |
tex2Dlod | Pencarian tekstur 2D dengan LOD. | 3 |
tex2Dproj | Pencarian tekstur 2D dengan pembagian proyektif. | 2¹ |
tex3D(s, t) | Pencarian tekstur 3D. | 1¹ |
tex3D(s, t, ddx, ddy) | Pencarian tekstur 3D. | 2¹ |
tex3Dbias | Pencarian tekstur 3D dengan bias. | 2¹ |
tex3Dgrad | Pencarian tekstur 3D dengan gradien. | 2¹ |
tex3Dlod | Pencarian tekstur 3D dengan LOD. | 3¹ |
tex3Dproj | Pencarian tekstur 3D dengan pembagian proyektif. | 2¹ |
texCUBE(s, t) | Pencarian tekstur kubus. | 1¹ |
texCUBE(s, t, ddx, ddy) | Pencarian tekstur kubus. | 2¹ |
texCUBEbias | Pencarian tekstur kubus dengan bias. | 2¹ |
texCUBEgrad | Pencarian tekstur kubus dengan gradien. | 2¹ |
texCUBElod | Pencarian tekstur kubus dengan LOD. | 3¹ |
texCUBEproj | Pencarian tekstur kubus dengan pembagian proyektif. | 2¹ |
mengubah urutan | Mengembalikan urutan matriks m. | 1 |
potong | Memotong nilai floating-point menjadi nilai bilangan bulat | 1 |
¹ lihat halaman referensi untuk pembatasan.
Komponen dan Jenis Templat
Deklarasi fungsi intrinsik HLSL menggunakan jenis komponen dan jenis templat untuk argumen parameter input dan mengembalikan nilai. Jenis yang tersedia tercantum dalam tabel berikut ini.
Jenis Templat Ini | Deskripsi | Dukung Jenis Data Ini |
---|---|---|
matriks | hingga 16 komponen tergantung pada deklarasi | Jenis HLSL Dasar |
object | objek sampler | sampler, sampler1D, sampler2D, sampler3D, samplerCUBE |
skalar | 1 komponen | Jenis HLSL Dasar |
Vektor | Minimum 1 komponen, maksimum 4 komponen (inklusif) | Jenis HLSL Dasar |
Baca juga