Partager via


Fonctions intrinsèques

Le tableau suivant répertorie les fonctions intrinsèques disponibles en HLSL. Chaque fonction est accompagnée d'une brève description et d'un lien vers une page de référence contenant des informations sur l'argument d'entrée et le type de retour.

Nom Description Modèle de nuanceur minimal
abort Met fin à l'appel de tirage ou de distribution en cours d'exécution. 4
abs Valeur absolue (par composant).
acos Retourne l'arc cosinus de chaque composant de x.
all Testez si tous les composants de x sont différents de zéro.
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 aient été terminés et que tous les threads du groupe aient atteint cet appel. 5
any Testez si un composant de x est différent de zéro.
asdouble Réinterprète une valeur de conversion en double. 5
asfloat Convertissez le type d'entrée en float. 4
asin Retourne l'arc sinus de chaque composant de x.
asint Convertissez le type d'entrée en entier. 4
asuint Réinterprète le schéma binaire d'un type 64 bits en un uint. 5
asuint Convertissez le type d'entrée en entier non signé. 4
atan Retourne l'arc tangente de x.
atan2 Retourne l'arc tangente 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 mosaïques mappées dans une ressource en mosaïque. 5
attache Attache x à la plage [min, max].
clip 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.
compte bits Compte le nombre de bits (par composant) dans l'entier d'entrée. 5
croix Retourne le produit croisé de deux vecteurs 3D.
D3DCOLORtoUBYTE4 Modifie et met à l'échelle les composantes du vecteur 4D x pour compenser l'absence de prise en charge de 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 la dérivée partielle de faible précision par rapport à la coordonnée x de l'espace-écran. 5
ddx_fine Calcule la dérivée partielle 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 la dérivée partielle de faible précision par rapport à la coordonnée y de l'espace-écran. 5
ddy_fine Calcule la dérivée partielle haute précision par rapport à la coordonnée y de l'espace-écran. 5
degrees Convertit x de radians en degrés.
déterminant Change le déterminant de la matrice carrée m.
DeviceMemoryBarrier 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. 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 aient été terminés et que tous les threads du groupe aient atteint cet appel. 5
distance Retourne la distance entre deux points.
dot 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 de pixels. 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 base-e.
exp2 Exposant de base 2 (par composant).
f16tof32 Convertit le float16 stocké dans la moitié inférieure de l'uint en float. 5
f32tof16 Convertit une entrée en type float16. 5
faceforward Retourne -n * sign(dot(i, ng)).
firstbithigh Obtient l'emplacement du premier bit défini à partir du bit de la commande la plus élevée vers le bas, par composant. 5
firstbitlow Retourne l'emplacement du premier bit défini à partir du bit de la commande la plus faible vers le haut, par composant. 5
floor Retourne le plus grand entier inférieur ou égal à x.
fma Retourne l'addition multipliée fusionnée à double précision d'un * b + c. 5
fmod Retourne le reste à virgule flottante de x/y.
frac Retourne le composant fractionnaire de x.
frexp Retourne la mantisse et l'exposant de x.
fwidth Retourne abs(ddx(x)) + abs(ddy(x))
GetRenderTargetSampleCount Retourne le nombre d'exemples de cible de rendu. 4
GetRenderTargetSamplePosition Retourne une position d'exemple (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 d'une valeur à la variable de ressource dest. 5
InterlockedAnd Effectue un and atomique garanti. 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 à dest et retourne la valeur d'origine. 5
InterlockedMax Effectue un max atomique garanti. 5
InterlockedMin Effectue un min atomique garanti. 5
InterlockedOr Effectue un or atomique garanti. 5
InterlockedXor Effectue un xor atomique garanti. 5
isfinite Retourne true si x est fini, false dans le cas contraire.
isinf Retourne true si x est + INF ou - INF, false dans le cas contraire.
isnan Retourne true si x est NAN ou QNAN, false dans le cas contraire.
ldexp Retourne x * 2exp
length Retourne la longueur du vecteur v.
lerp Retourne x + s(y - x).
lit Retourne un vecteur d'éclairage (ambiant, diffus, spéculaire, 1)
log 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.
mad Effectue une opération de multiplication/ajout arithmétique sur trois valeurs. 5
max Sélectionne la valeur supérieure de x et y.
min Sélectionne la valeur inférieure de x et y.
modf Coupe la valeur x en deux composants, un entier et un fractionnaire.
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 la multiplication de matrices à l'aide de x et y. 1
noise Génère une valeur aléatoire à l'aide de l'algorithme Perlin-noise.
normalize Retourne un vecteur normalisé.
pow Retourne xy.
printf Soumet un message de nuanceur personnalisé à la file d'attente d'informations. 4
Process2DQuadTessFactorsAvg Génère les facteurs de pavage corrigés pour un correctif quad. 5
Process2DQuadTessFactorsMax Génère les facteurs de pavage corrigés pour un correctif quad. 5
Process2DQuadTessFactorsMin Génère les facteurs de pavage corrigés pour un correctif quad. 5
ProcessIsolineTessFactors Génère les facteurs de pavage arrondis pour une isoligne. 5
ProcessQuadTessFactorsAvg Génère les facteurs de pavage corrigés pour un correctif quad. 5
ProcessQuadTessFactorsMax Génère les facteurs de pavage corrigés pour un correctif quad. 5
ProcessQuadTessFactorsMin Génère les facteurs de pavage corrigés pour un correctif quad. 5
ProcessTriTessFactorsAvg Génère les facteurs de pavage corrigés pour un correctif tri. 5
ProcessTriTessFactorsMax Génère les facteurs de pavage corrigés pour un correctif tri. 5
ProcessTriTessFactorsMin Génère les facteurs de pavage 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
refract Retourne le vecteur de réfraction.
reversebits Inverse l'ordre des bits, par composant. 5
round Arrondit x à l'entier le plus proche
rsqrt Retourne 1/sqrt(x)
saturate Limite x à la plage [0, 1] 1
sign Calcule x.
sin 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 d'Hermite lisse comprise entre 0 et 1.
sqrt Racine carrée (par composant)
step Renvoie (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 niveau de détail (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 niveau de détail (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 niveau de détail (LOD).
texCUBEproj Recherche de texture de cube avec division projective.
transpose Retourne la transpose de la matrice m. 1
trunc Tronque la ou les valeurs à virgule flottante en valeurs entières 1

 

¹ reportez-vous à 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 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 objet de l'échantillonneur 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

Informations de référence pour HLSL