Fonctions intrinsèques

Le tableau suivant répertorie les fonctions intrinsèques disponibles dans HLSL. Chaque fonction a une brève description et un lien vers une page de référence qui contient plus de détails sur l’argument d’entrée et le type de retour.

Nom Description Modèle de nuanceur minimal
Annuler Met fin à l’appel de tirage ou de distribution en cours d’exécution. 4
Abs Valeur absolue (par composant).
Acos Retourne l’arccosine de chaque composant de x.
Tous Testez si tous les composants de x ne sont pas nuls.
AllMemoryBarrier Bloque l’exécution de tous les threads d’un groupe jusqu’à ce que tous les accès à la mémoire soient terminés. 5
AllMemoryBarrierWithGroupSync Bloque l’exécution de tous les threads d’un groupe jusqu’à ce que tous les accès à la mémoire soient terminés et que tous les threads du groupe aient atteint cet appel. 5
Tout Testez si un composant de x est différent de zéro.
asdouble Réinterpréte une valeur castée en un double. 5
asfloat Convertissez le type d’entrée en float. 4
Asin Retourne l’arcsinus de chaque composant de x.
asint Convertissez le type d’entrée en entier. 4
asuint Réinterpréte le modèle de bits d’un type 64 bits en uint. 5
asuint Convertissez le type d’entrée en entier non signé. 4
Atan Retourne l’arctangente de x.
atan2 Retourne l’arctangent de deux valeurs (x,y).
ceil Retourne le plus petit entier supérieur ou égal à x.
CheckAccessFullyMapped Détermine si toutes les valeurs d’une opération Sample ou Load ont accédé aux vignettes mappées dans une ressource en mosaïque. 5
Pince Pince x à la plage [min, max].
capture Ignore le pixel actuel, si un composant de x est inférieur à zéro.
Cos Retourne le cosinus de x.
cosh Retourne le cosinus hyperbolique de x.
countbits Compte le nombre de bits (par composant) dans l’entier d’entrée. 5
Croix Retourne le produit croisé de deux vecteurs 3D.
D3DCOLORtoUBYTE4 Swizzles et met à l’échelle les composants du vecteur 4D xto compenser l’absence de prise en charge UBYTE4 dans certains matériels.
Ddx Retourne la dérivée partielle de x par rapport à la coordonnée x de l’espace écran.
ddx_coarse Calcule un dérivé partiel de faible précision par rapport à la coordonnée x de l’espace écran. 5
ddx_fine Calcule un dérivé partiel haute précision par rapport à la coordonnée x de l’espace écran. 5
ddy Retourne la dérivée partielle de x par rapport à la coordonnée y de l’espace écran.
ddy_coarse Calcule un dérivé partiel de faible précision par rapport à la coordonnée y de l’espace écran. 5
ddy_fine Calcule un dérivé partiel haute précision par rapport à la coordonnée y de l’espace d’écran. 5
Degrés Convertit x de radians en degrés.
Déterminant Retourne le déterminant de la matrice carrée m.
DeviceMemoryBarrier Bloque l’exécution de tous les threads dans un groupe jusqu’à ce que tous les accès à la mémoire de l’appareil soient terminés. 5
DeviceMemoryBarrierWithGroupSync Bloque l’exécution de tous les threads d’un groupe jusqu’à ce que tous les accès à la mémoire de l’appareil soient terminés et que tous les threads du groupe aient atteint cet appel. 5
distance Retourne la distance entre deux points.
Point Retourne le produit scalaire de deux vecteurs. 1
Dst Calcule un vecteur de distance. 5
errorf Envoie un message d’erreur à la file d’attente d’informations. 4
EvaluateAttributeCentroid Évalue au centroïde pixel. 5
EvaluateAttributeAtSample Évalue à l’emplacement de l’exemple indexé. 5
EvaluateAttributeSnapped Évalue au centroïde de pixels avec un décalage. 5
Exp Retourne l’exposant de base-e.
exp2 Exposant de base 2 (par composant).
f16tof32 Convertit le float16 stocké dans la moitié basse de l’uint en float. 5
f32tof16 Convertit une entrée en type float16. 5
faceforward Renvoie -n * sign(dot(i, ng)).
firstbithigh Obtient l’emplacement du premier bit défini à partir du bit de commande le plus élevé et fonctionne à la baisse, par composant. 5
firstbitlow Retourne l’emplacement du premier bit défini en commençant par le bit de commande le plus bas et en travaillant vers le haut, par composant. 5
Étage Retourne le plus grand entier qui est inférieur ou égal à x.
Fma Retourne l’addition multipliée double précision d’un * b + c. 5
fmod Retourne le reste à virgule flottante de x/y.
Frac Retourne la partie fractionnelle de x.
frexp Retourne la mantissa et l’exposant de x.
fwidth Renvoie abs(ddx(x)) + abs(ddy(x))
GetRenderTargetSampleCount Retourne le nombre d’exemples de cible de rendu. 4
GetRenderTargetSamplePosition Retourne un exemple de position (x,y) pour un exemple d’index donné. 4
GroupMemoryBarrier Bloque l’exécution de tous les threads d’un groupe jusqu’à ce que tous les accès partagés de groupe soient terminés. 5
GroupMemoryBarrierWithGroupSync Bloque l’exécution de tous les threads d’un groupe jusqu’à ce que tous les accès partagés de groupe aient été terminés et que tous les threads du groupe aient atteint cet appel. 5
InterlockedAdd Effectue un ajout atomique garanti de valeur à la variable de ressource dést. 5
InterlockedAnd Effectue un atomique garanti et. 5
InterlockedCompareExchange Compare atomiquement l’entrée à la valeur de comparaison et échange le résultat. 5
InterlockedCompareStore Compare atomiquement l’entrée à la valeur de comparaison. 5
InterlockedExchange Affecte la valeur à dést et retourne la valeur d’origine. 5
InterlockedMax Effectue un max atomique garanti. 5
InterlockedMin Effectue une min atomique garantie. 5
InterlockedOr Effectue un atomique garanti ou. 5
InterlockedXor Effectue un xor atomique garanti. 5
isfinite Retourne true si x est fini, false sinon.
isinf Retourne true si x est +INF ou -INF, false sinon.
isnan Renvoie la valeur true si x est NAN ou QNAN, false sinon.
ldexp Retourne x * 2exp
Longueur Retourne la longueur du vecteur v.
lerp Renvoie x + s(y - x).
Allumé Retourne un vecteur d’éclairage (ambiante, diffuse, speculaire, 1)
rapport Retourne le logarithme de base e de x.
log10 Retourne le logarithme de base 10 de x.
log2 Retourne le logarithme de base 2 de x.
Fou Effectue une opération de multiplication/ajout arithmétique sur trois valeurs. 5
Max Sélectionne la valeur supérieure de x et y.
minute(s) Sélectionne la valeur inférieure de x et y.
modf Fractionne la valeur x en parties fractionnelles et entières.
msad4 Compare une valeur de référence de 4 octets et une valeur source de 8 octets et accumule un vecteur de 4 sommes. 5
mul Effectue une multiplication de matrice à l’aide de x et y. 1
Bruit Génère une valeur aléatoire à l’aide de l’algorithme Perlin-noise.
normalize Retourne un vecteur normalisé.
Pow Retourne xy.
printf Envoie un message de nuanceur personnalisé à la file d’attente d’informations. 4
Process2DQuadTessFactorsAvg Génère les facteurs de téssellation corrigés pour un correctif quad. 5
Process2DQuadTessFactorsMax Génère les facteurs de téssellation corrigés pour un correctif quad. 5
Process2DQuadTessFactorsMin Génère les facteurs de téssellation corrigés pour un correctif quad. 5
ProcessIsolineTessFactors Génère les facteurs de tssellation arrondis pour une isoline. 5
ProcessQuadTessFactorsAvg Génère les facteurs de téssellation corrigés pour un correctif quad. 5
ProcessQuadTessFactorsMax Génère les facteurs de téssellation corrigés pour un correctif quad. 5
ProcessQuadTessFactorsMin Génère les facteurs de téssellation corrigés pour un correctif quad. 5
ProcessTriTessFactorsAvg Génère les facteurs de téssellation corrigés pour un correctif tri. 5
ProcessTriTessFactorsMax Génère les facteurs de téssellation corrigés pour un correctif tri. 5
ProcessTriTessFactorsMin Génère les facteurs de téssellation corrigés pour un correctif tri. 5
Radians Convertit x de degrés en radians. 1
rcp Calcule une réciproque rapide, approximative et par composant. 5
reflect Retourne un vecteur de réflexion. 1
réfractaire Retourne le vecteur de réfraction.
reversebits Inverse l’ordre des bits, par composant. 5
Rond Arrondit x à l’entier le plus proche
rsqrt Retourne 1 / sqrt(x)
Saturer Pince x à la plage [0, 1] 1
Signe Calcule le signe x.
Péché Retourne le sinus de x
sincos Retourne le sinus et le cosinus de x.
sinh Retourne le sinus hyperbolique de x
smoothstep Retourne une interpolation hermite lisse comprise entre 0 et 1.
Sqrt Racine carrée (par composant)
Étape Retourne (x >= a) ? 1 : 0
Tan Retourne la tangente de x
tanh Retourne la tangente hyperbolique de x
tex1D(s, t) Recherche de texture 1D. 1
tex1D(s, t, ddx, ddy) Recherche de texture 1D.
tex1Dbias Recherche de texture 1D avec biais.
tex1Dgrad Recherche de texture 1D avec un dégradé.
tex1Dlod Recherche de texture 1D avec LOD.
tex1Dproj Recherche de texture 1D avec division projective.
tex2D(s, t) Recherche de texture 2D.
tex2D(s, t, ddx, ddy) Recherche de texture 2D.
tex2Dbias Recherche de texture 2D avec biais.
tex2Dgrad Recherche de texture 2D avec un dégradé.
tex2Dlod Recherche de texture 2D avec LOD. 3
tex2Dproj Recherche de texture 2D avec division projective.
tex3D(s, t) Recherche de texture 3D.
tex3D(s, t, ddx, ddy) Recherche de texture 3D.
tex3Dbias Recherche de texture 3D avec biais.
tex3Dgrad Recherche de texture 3D avec un dégradé.
tex3Dlod Recherche de texture 3D avec LOD.
tex3Dproj Recherche de texture 3D avec division projective.
texCUBE(s, t) Recherche de texture de cube.
texCUBE(s, t, ddx, ddy) Recherche de texture de cube.
texCUBEbias Recherche de texture de cube avec biais.
texCUBEgrad Recherche de texture de cube avec un dégradé.
texCUBElod Recherche de texture de cube avec LOD.
texCUBEproj Recherche de texture de cube avec division projective.
Transposer Retourne la transpose de la matrice m. 1
Trunc Tronque les valeurs à virgule flottante en valeurs entières 1

 

¹ voir la page de référence pour connaître les restrictions.

Types de composants et de modèles

Les déclarations de fonction intrinsèque HLSL utilisent des types de composants et des types de modèles pour les arguments de paramètre d’entrée et les valeurs de retour. Les types disponibles sont répertoriés dans le tableau suivant.

Ces types de modèles Description Prendre en charge ces types de données
matrice jusqu’à 16 composants en fonction de la déclaration Types HLSL de base
object sampler (objet) sampler, sampler1D, sampler2D, sampler3D, samplerCUBE
scalaire 1 composant Types HLSL de base
vecteur 1 composant minimum, 4 composants maximum (inclus) Types HLSL de base

 

Voir aussi

Référence pour HLSL