Que sont les nœuds du Concepteur de nuanceur ?

Le Concepteur de nuanceur dans Visual Studio correspond à des effets visuels sous forme de graphique. Ces graphiques sont générés à partir de nœuds choisis et connectés de façon précise afin d’obtenir l’effet prévu. Chaque nœud représente une information ou une fonction mathématique, et les connexions entre elles représentent le flux d’informations dans le graphique pour produire le résultat. Les types de nœuds incluent des filtres, des textures, des paramètres, des constantes, des nœuds utilitaires et des nœuds mathématiques.

Structure de nœuds

Tous les nœuds sont composés d’une combinaison d’éléments communs. Chaque nœud a au moins un terminal de sortie sur son côté droit (sauf le nœud de couleur finale, qui représente la sortie du nuanceur). Les nœuds qui représentent des calculs ou des échantillonneurs de texture ont des terminaux d’entrée sur leur côté gauche, mais les nœuds qui représentent des informations n’ont aucun terminal d’entrée. Les terminaux de sortie sont connectés aux terminaux d’entrée pour déplacer des informations d’un nœud vers un autre.

Promotion des entrées

Comme le concepteur Shader doit finalement générer le code source HLSL afin que l’effet puisse être utilisé dans un jeu ou une application, les nœuds du concepteur Shader sont soumis aux règles de la promotion de type utilisées par HLSL. Comme le matériel graphique s’exécute principalement sur des valeurs à virgule flottante, une promotion de type entre différents types, par exemple entre int et float ou entre float et double, est rare. Comme le matériel graphique utilise la même opération simultanée sur plusieurs informations, un type différent de promotion peut se produire à la place dans lequel le nombre le plus court d’entrées est allongé pour le faire correspondre à la taille de l’entrée la plus longue. La façon dont il est allongé dépend du type de l’entrée et également de l’opération proprement dite :

  • Si le plus petit type est une valeur scalaire, alors :

    La valeur scalaire est répliquée dans un vecteur dont la taille est égale à l’entrée la plus grande. Par exemple, l’entrée scalaire 5.0 devient le vecteur (5.0, 5.0, 5.0) quand la plus grande entrée de l’opération est un vecteur à trois éléments, indépendamment des caractéristiques de l’opération.

  • Si le plus petit type est un vecteur et que l’opération relève d’une multiplication (*, /, %, etc.), alors :

    La valeur du vecteur est copiée dans les éléments de début d’un vecteur dont la taille est égale à l’entrée la plus grande, et les éléments de fin sont définis sur 1.0. Par exemple, l’entrée vectorielle (5.0, 5.0) devient le vecteur (5.0, 5.0, 1.0, 1.0) lors d’une multiplication par un vecteur à quatre éléments. Cela permet de conserver le troisième et le quatrième éléments de la sortie à l’aide de l’identité de multiplication, 1.0.

  • Si le plus petit type est un vecteur et que l’opération relève d’une addition (+, -, etc.), alors :

    La valeur du vecteur est copiée dans les éléments de début d’un vecteur dont la taille est égale à l’entrée la plus grande, et les éléments de fin sont définis sur 0.0. Par exemple, l’entrée vectorielle (5.0, 5.0) devient le vecteur (5.0, 5.0, 0.0, 0.0) lors d’un ajout à un vecteur à quatre éléments. Cela permet de conserver le troisième et le quatrième éléments de la sortie à l’aide de l’identité d’addition, 0.0.

Nœuds et types de nœuds

Le concepteur Shader fournit six types de nœuds différents (filtres, nœuds de texture, paramètres, constantes, nœuds d’utilitaire et nœuds mathématiques). Plusieurs nœuds individuels appartiennent à chaque type.

Nœuds de constantes

Dans le concepteur de nuanceur, les nœuds de constante représentent les valeurs littérales et les attributs de sommets interpolés dans les calculs de nuanceur de pixels. Comme les attributs de sommets sont interpolés (et donc différents pour chaque pixel), chaque instance de nuanceur de pixels reçoit une version différente de la constante. Ce faisant, chaque pixel a une apparence unique.

Interpolation des attributs de sommets

L’image d’une scène 3D de jeu ou d’application est réalisée en transformant mathématiquement plusieurs objets, qui sont définis par des sommets, des attributs de sommets et des définitions de primitives, en pixels à l’écran. Toutes les informations requises pour donner à un pixel son apparence unique sont fournies par le biais des attributs de sommets, qui sont fusionnés en fonction de la proximité du pixel avec les différents sommets qui composent sa primitive. Une primitive est un élément de rendu de base, autrement dit, une forme simple comme un point, une ligne ou un triangle. Un pixel très proche d’un des sommets reçoit des constantes qui sont pratiquement identiques à ce sommet, mais un pixel espacé uniformément entre tous les sommets d’une primitive reçoit des constantes qui sont la moyenne de ces sommets. Dans la programmation des graphiques, les constantes que les pixels reçoivent sont dites interpolées. La fourniture de données de constantes en pixels de cette façon permet de créer une très bonne qualité visuelle tout en réduisant l’empreinte mémoire et les besoins en bande passante.

Ben que chaque instance de nuanceur de pixels ne reçoive qu’un jeu de valeurs de constantes et ne puisse pas modifier ces dernières, des instances de nuanceur de pixels distinctes reçoivent des jeux de données de constantes différents. Cette conception permet à un programme nuanceur de produire une sortie couleur différente pour chaque pixel de la primitive.

Informations de référence des nœuds de constante

Nœud Détails Propriétés
Vecteur d’appareil photo Vecteur qui s’étend du pixel actuel à l’appareil photo dans l’espace universel.

Vous pouvez l’utiliser pour calculer les réflexions dans l’espace universel.

Sortie

Output: float3
Vecteur du pixel actuel à l’appareil photo.
None
Constante de couleur Valeur de constante de couleur.

Sortie

Output: float4
Valeur de la couleur.
Sortie
Valeur de la couleur.
Constant Valeur scalaire de constante.

Sortie

Output: float
Valeur scalaire.
Sortie
Valeur scalaire.
Constante 2D Constante vectorielle à deux composants.

Sortie

Output: float2
Valeur vectorielle.
Sortie
Valeur vectorielle.
Constante 3D Constante vectorielle à trois composants.

Sortie

Output: float3
Valeur vectorielle.
Sortie
Valeur vectorielle.
Constante 4D Constante vectorielle à quatre composants.

Sortie

Output: float4
Valeur de la couleur.
Sortie
Valeur vectorielle.
Position normalisée Position du pixel actuel, exprimée en coordonnées normalisées de l’appareil.

Les valeurs de l’axe des abscisses et de l’axe des x sont comprises dans la plage [-1, 1], la valeur de l’abscisse z est comprise dans la plage [0, 1] et le composant w contient la valeur de la profondeur de point dans l’espace d’affichage ; w n’est pas normalisé.

Sortie

Output: float4
Position du pixel actuel.
None
Couleur du point Couleur diffuse du pixel actuel, qui est une combinaison des attributs de couleur diffuse de matériau et de couleur de sommet.

Sortie

Output: float4
Couleur diffuse du pixel actuel.
None
Profondeur de point Profondeur du pixel actuel dans l’espace d’affichage.

Sortie

Output: float
Profondeur du pixel actuel.
None
Profondeur de point normalisée Profondeur du pixel actuel, exprimée en coordonnées normalisées de l’appareil.

La valeur du résultat est comprise dans la plage [0, 1].

Sortie

Output: float
Profondeur du pixel actuel.
None
Position à l’écran Position du pixel actuel, exprimée en coordonnées d’écran.

Les coordonnées d’écran sont basées sur la fenêtre d’affichage actuelle. Les composants x et y contiennent les coordonnées d’écran, le composant z contient la profondeur normalisée dans la plage [0, 1], et le composant w contient la valeur de profondeur dans l’espace d’affichage.

Sortie

Output: float4
Position du pixel actuel.
None
Normale de surface Normale de surface du pixel actuel dans l’espace d’objets.

Vous pouvez l’utiliser pour calculer les contributions de l’éclairage et les réflexions dans l’espace d’objets.

Sortie

Output: float3
Normale de surface du pixel actuel.
None
Vecteur d’appareil photo de l’espace tangent Vecteur qui s’étend du pixel actuel à l’appareil photo dans l’espace tangent.

Vous pouvez l’utiliser pour calculer les réflexions dans l’espace tangent.

Sortie

Output: float3
Vecteur du pixel actuel à l’appareil photo.
None
Direction de la lumière de l’espace tangent Vecteur qui définit la direction dans laquelle la lumière est diffusée depuis une source de lumière dans l’espace tangent du pixel actuel.

Vous pouvez l’utiliser pour calculer les contributions spéculaires et d’éclairage dans l’espace tangent.

Output:

Output: float3
Vecteur du pixel actuel à une source de lumière.
None
Normale universelle Normale de surface du pixel actuel dans l’espace universel.

Vous pouvez l’utiliser pour calculer les contributions de l’éclairage et les réflexions dans l’espace universel.

Sortie

Output: float3
Normale de surface du pixel actuel.
None
Position universelle Position du pixel actuel dans l'espace universel.

Sortie

Output: float4
Position du pixel actuel.
None

Nœuds de paramètres

Dans le concepteur de nuanceur, les nœuds de paramètre représentent les entrées dans le nuanceur qui sont sous le contrôle de l’application dessin par dessin, par exemple, les propriétés de matériau, les lumières directionnelles et la position de la caméra. Comme vous pouvez modifier ces paramètres à chaque appel de dessin, vous pouvez utiliser le même nuanceur pour attribuer différentes apparences à un objet.

Informations de référence des nœuds de paramètre

Nœud Détails Propriétés
Position universelle de la caméra Position de l'appareil photo dans l'espace universel.

Output:

Output: float4
Position de la caméra.
None
Direction de la lumière Vecteur qui définit la direction dans laquelle la lumière est diffusée depuis une source de lumière dans l’espace universel.

Vous pouvez l’utiliser pour calculer les contributions spéculaires et d’éclairage dans l’espace universel.

Output:

Output: float3
Vecteur du pixel actuel à une source de lumière.
None
Matériau ambiant Contribution de couleur diffuse du pixel actuel qui est attribuée à l’éclairage indirect.

La couleur diffuse d’un pixel simule l’interaction de l’éclairage avec des surfaces rugueuses. Vous pouvez utiliser le paramètre Matériau ambiant pour estimer la contribution de l’éclairage indirect à l’apparence d’un objet dans le monde réel.

Output:

Output: float4
Couleur diffuse du pixel actuel qui est due à l’éclairage indirect, c’est-à-dire à la lumière ambiante.
y accéder
Public pour que la propriété puisse être définie dans l’éditeur de modèle. Privé dans le cas contraire.

Valeur
Couleur diffuse du pixel actuel qui est due à l’éclairage indirect, c’est-à-dire à la lumière ambiante.
Matériau diffus Couleur qui décrit la manière dont le pixel actuel diffuse la lumière directe.

La couleur diffuse d’un pixel simule l’interaction de l’éclairage avec des surfaces rugueuses. Vous pouvez utiliser le paramètre Matériau diffus pour modifier la façon dont le pixel actuel diffuse la lumière directe, c’est-à-dire les lumières directionnelles, ponctuelles et projetées.

Output:

Output: float4
Couleur qui décrit la manière dont le pixel actuel diffuse la lumière directe.
y accéder
Public pour que la propriété puisse être définie dans l’éditeur de modèle. Privé dans le cas contraire.

Valeur
Couleur qui décrit la manière dont le pixel actuel diffuse la lumière directe.
Matériau émissif Contribution de couleur du pixel actuel qui est attribuée à son éclairage propre.

Vous pouvez l’utiliser pour simuler un objet lumineux, autrement dit, un objet qui fournit sa propre lumière. Cette lumière n’affecte pas les autres objets.

Output:

Output: float4
Contribution de couleur du pixel actuel, basée sur l’auto-éclairage.
y accéder
Public pour que la propriété puisse être définie dans l’éditeur de modèle. Privé dans le cas contraire.

Valeur
Contribution de couleur du pixel actuel, basée sur l’auto-éclairage.
Matériau spéculaire Couleur qui décrit la manière dont le pixel actuel reflète la lumière directe.

La couleur spéculaire d’un pixel simule l’interaction de l’éclairage avec des surfaces lisses, de type miroir. Vous pouvez utiliser le paramètre Matériau spéculaire pour modifier la façon dont le pixel actuel reflète la lumière directe, c’est-à-dire les lumières directionnelles, ponctuelles et projetées.

Output:

Output: float4
Couleur qui décrit la manière dont le pixel actuel reflète la lumière directe.
y accéder
Public pour que la propriété puisse être définie dans l’éditeur de modèle. Privé dans le cas contraire.

Valeur
Couleur qui décrit la manière dont le pixel actuel reflète la lumière directe.
Puissance spéculaire du matériau Valeur scalaire qui décrit l'intensité des surbrillances spéculaires.

L’intensité et la portée des surbrillances spéculaires sont proportionnelles à la puissance spéculaire.

Output:

Output: float
Terme exponentiel qui décrit l’intensité des surbrillances spéculaires sur le pixel actuel.
y accéder
Public pour que la propriété puisse être définie dans l’éditeur de modèle. Privé dans le cas contraire.

Valeur
Exposant qui définit l’intensité des surbrillances spéculaires sur le pixel actuel.
Heure normalisée Durée en secondes, normalisée dans la plage [0, 1] de sorte que lorsque la durée atteint 1, elle est réinitialisée sur 0.

Vous pouvez l’utiliser en tant que paramètre dans les calculs du nuanceur, par exemple pour animer les coordonnées de la texture, les valeurs de couleur ou d’autres attributs.

Output:

Output: float
Heure normalisée, en secondes.
None
Time La durée en secondes.

Vous pouvez l’utiliser en tant que paramètre dans les calculs du nuanceur, par exemple pour animer les coordonnées de la texture, les valeurs de couleur ou d’autres attributs.

Output:

Output: float
Durée en secondes.
None

Nœuds de textures

Dans le concepteur de nuanceur, les nœuds de texture échantillonnent différents types de texture ainsi que des géométries, et produisent ou transforment des coordonnées de texture. Les textures apportent des détails de couleur et d’éclairage aux objets.

Informations de référence des nœuds de texture

Nœud Détails Propriétés
Cubemap Sample (Exemple de carte cubique) Extrait un échantillon de couleur d’une carte cubique aux coordonnées spécifiées.

Vous pouvez utiliser une carte cubique pour fournir des détails de couleurs pour les effets de réflexion ou pour appliquer à un objet sphérique une texture avec moins de distorsion qu’une texture 2D.

Entrée :

UVW: float3
Vecteur qui spécifie l’emplacement de l’extraction de l’échantillon sur le cube de texture. L’échantillon est prélevé à l’intersection de ce vecteur et du cube.

Output:

Output: float4
Échantillon de couleur.
Texture
Registre de texture associé à l’échantillonneur.
Normal Map Sample (Exemple de carte de normales) Extrait un échantillon de normale d’une carte de normales 2D aux coordonnées spécifiées

Vous pouvez utiliser une carte de normales pour simuler l’apparence de détails géométriques supplémentaires sur la surface d’un objet. Les cartes de normales contiennent des données compressées qui représentent un vecteur unitaire et non des données de couleur.

Entrée :

UV: float2
Coordonnées de l’emplacement auquel l’échantillon est prélevé.

Output:

Output: float3
Échantillon de normale.
Axis Adjustment (Ajustement d’un axe)
Facteur utilisé pour ajuster la commodité d’un exemple de carte normal.

Texture
Registre de texture associé à l’échantillonneur.
UV Panoramique Effectue un panoramique des coordonnées de texture spécifiées en tant que fonction du temps.

Vous pouvez l’utiliser pour déplacer une carte de textures ou de normales sur la surface d’un objet.

Entrée :

UV: float2
Coordonnées sur lesquelles effectuer un panoramique.

Time: float
Durée du panoramique, en secondes.

Output:

Output: float2
Coordonnées auxquelles est appliqué un panoramique.
Vitesse X
Nombre de texels panoramiqués le long de l'axe des abcisses, par seconde.

Vitesse Y
Nombre de texels panoramiqués le long de l'axe des ordonnées, par seconde.
UV Parallaxe Déplace les coordonnées de texture spécifiées en tant que fonction de la hauteur et de l’angle de visualisation.

L’effet créé est appelé mappage parallaxe ou mappage de déplacement virtuel. Vous pouvez l’utiliser pour créer une illusion de profondeur sur une surface plane.

Entrée :

UV: float2
Coordonnées à déplacer.

Height: float
Valeur de la carte du relief qui est associée aux coordonnées UV.

Output:

Output: float2
Coordonnées déplacées.
Plan de profondeur
Profondeur de référence de l’effet parallaxe. Par défaut, sa valeur est égale à 0,5. Des valeurs plus petites soulèvent la texture, tandis que des valeurs supérieures l’enfoncent dans la surface.

Échelle de profondeur
Échelle de l’effet parallaxe. La profondeur apparente est ainsi rendue plus ou moins prononcée. Les valeurs standard sont inscrites dans la plage s’étendant de 0,02 à 0,1.
Faire pivoter UV Effectue une rotation des coordonnées de texture spécifiées autour d’un point central en tant que fonction du temps.

Vous pouvez l’utiliser pour faire tourner une carte de textures ou de normales sur la surface d’un objet.

Entrée :

UV: float2
Coordonnées à faire pivoter.

Time: float
Durée du panoramique, en secondes.

Output:

Output: float2
Coordonnées ayant subi une rotation.
Centrer X
Coordonnée x qui définit le centre de rotation.

Centrer Y
Coordonnée y qui définit le centre de rotation.

Vitesse
Angle, en radians, en fonction duquel la texture pivote chaque seconde.
Coordonnée de texture Coordonnées de texture du pixel actuel.

Les coordonnées de texture sont déterminées par interpolation entre les attributs de coordonnées de texture des sommets voisins. Vous pouvez considérer cela comme position du pixel actuel dans l’espace de texture.

Output:

Output: float2
Coordonnées de texture.
None
Dimensions de la texture Affiche la largeur et la hauteur d’une carte de textures 2D.

Vous pouvez utiliser les dimensions de texture pour prendre en compte la largeur et la hauteur de la texture dans un nuanceur.

Output:

Output: float2
Largeur et hauteur de la texture, exprimées en tant que vecteur. La largeur est stockée dans le premier élément du vecteur. La hauteur est stockée dans le second élément.
Texture
Registre de texture associé aux dimensions de la texture.
Différentiel d’élément de texture Affiche le différentiel (la distance) entre les éléments de texture d’une carte de textures 2D.

Vous pouvez utiliser le différentiel d’élément de texture pour échantillonner des valeurs d’éléments de texture voisins dans un nuanceur.

Output:

Output: float2
Différentiel (distance) d’un élément de texture à l’élément de texture suivant (déplacement en diagonale dans le sens positif), exprimé sous la forme d’un vecteur dans un espace de texture normalisé. Vous pouvez dériver les positions de tous les éléments de texture voisins en ignorant ou en inversant de manière sélective les coordonnées U ou V du différentiel.
Texture
Registre de texture associé au différentiel d’élément de texture.
Échantillon de texture Extrait un échantillon de couleur d’une carte de textures 2D aux coordonnées spécifiées.

Vous pouvez utiliser une carte de textures pour ajouter un détail de couleur à la surface d’un objet.

Entrée :

UV: float2
Coordonnées de l’emplacement auquel l’échantillon est prélevé.

Output:

Output: float4
Échantillon de couleur.
Texture
Registre de texture associé à l’échantillonneur.

Nœuds mathématiques

Dans le concepteur de nuanceur, les nœuds mathématiques effectuent des opérations mathématiques, notamment algébriques, logiques et trigonométriques.

Notes

Lorsque vous utilisez des nœuds mathématiques dans le concepteur de nuanceur, la promotion de type est particulièrement évidente. Si vous souhaitez découvrir comment la promotion de type affecte les paramètres d’entrée, consultez la section Promotion des entrées.

Informations de référence des nœuds mathématiques

Nœud Détails Propriétés
Abs Calcule la valeur absolue de l’entrée spécifiée par composant.

Pour chaque composant d’entrée X, les valeurs négatives sont rendues positives afin que chaque composant du résultat ait une valeur positive.

Entrée :

X : float, float2, float3 ou float4
Valeurs pour lesquelles déterminer la valeur absolue.

Output:

Output : identique à l’entrée X
Valeur absolue par composant.
None
Ajouter Calcule la somme des entrées spécifiées par composant.

Pour chaque composant du résultat, les composants correspondants des entrées X et Y sont additionnés.

Entrée :

X : float, float2, float3 ou float4
Une des valeurs à additionner.

Y : identique à l’entrée X
Une des valeurs à additionner.

Output:

Output : identique à l’entrée X
Somme par composant.
None
Plafond Calcule le plafond de l’entrée spécifiée par composant.

Le plafond d’une valeur est le plus petit entier supérieur ou égal à cette valeur.

Entrée :

X : float, float2, float3 ou float4
Valeurs pour lesquelles calculer le plafond.

Output:

Output : identique à l’entrée X
Plafond par composant.
None
Clamp Fixe chaque composant de l’entrée spécifiée à une plage prédéfinie.

Pour chaque composant du résultat, les valeurs inférieures à la plage définie sont égales à la valeur minimale de la plage, les valeurs supérieures à la plage définie sont égales à la valeur maximale de la plage et les valeurs déjà comprises dans la plage restent inchangées.

Entrée :

X : float, float2, float3 ou float4
Valeurs à fixer.

Output:

Output : identique à l’entrée X
Valeur fixée par composant.
Max
Plus grande valeur possible de la plage.

Min
Plus petite valeur possible de la plage.
Cos Calcule le cosinus de l’entrée spécifiée, en radians, par composant.

Pour chaque composant du résultat, le cosinus du composant correspondant, qui est fourni en radians, est calculé. Le résultat compte des composants dont les valeurs sont comprises dans la plage [-1, 1].

Entrée :

X : float, float2, float3 ou float4
Valeurs pour lesquelles calculer le cosinus, en radians.

Output:

Output : identique à l’entrée X
Cosinus par composant.
None
Croix Calcule le produit vectoriel des vecteurs spécifiés à trois composants.

Vous pouvez utiliser le produit croisé pour calculer la normale d’une surface définie par deux vecteurs.

Entrée :

X: float3
Vecteur sur le côté gauche du produit vectoriel.

Y: float3
Vecteur sur le côté droit du produit vectoriel.

Output:

Output: float3
Produit croisé.
None
Distance Calcule la distance entre les points spécifiés.

Le résultat est une valeur scalaire positive.

Entrée :

X : float, float2, float3 ou float4
Un des points dont il convient de déterminer la distance les séparant.

Y : identique à l’entrée X
Un des points dont il convient de déterminer la distance les séparant.

Output:

Output : identique à l’entrée X
Distance.
None
Divide Calcule le quotient des entrées spécifiées.

Pour chaque composant du résultat, le composant correspondant de l’entrée X est divisé par le composant correspondant de l’entrée Y.

Entrée :

X : float, float2, float3 ou float4
Valeurs de dividende.

Y : identique à l’entrée X
Valeurs de diviseur.

Output:

Output : identique à l’entrée X
Quotient par composant.
None
Point Calcule le produit scalaire des vecteurs spécifiés.

Le résultat est une valeur scalaire. Le produit scalaire permet de déterminer l’angle entre deux vecteurs.

Entrée :

X : float, float2, float3 ou float4
Un des termes.

Y : identique à l’entrée X
Un des termes.

Output:

Output: float
Produit scalaire.
None
Floor Calcule la valeur plancher de l’entrée spécifiée par composant.

Pour chaque composant du résultat, la valeur correspond à la plus grande valeur entière inférieure ou égale au composant correspondant de l’entrée. Chaque composant du résultat est un entier.

Entrée :

X : float, float2, float3 ou float4
Valeurs pour lesquelles calculer le plancher.

Output:

Output : identique à l’entrée X
Valeur plancher par composant.
None
Fmod Calcule le modulo (reste) des entrées spécifiées.

Pour chaque composant du résultat, un multiple (nombre entier) entier, m, du composant correspondant de l’entrée Y est soustrait du composant correspondant de l’entrée X, laissant un reste. Le multiple, m, est choisi de telle façon que le reste soit inférieur au composant correspondant de l’entrée Y et qu’il ait le même signe que le composant correspondant de l’entrée X. Par exemple, fmod(-3.14, 1.5) correspond à -0,14.

Entrée :

X : float, float2, float3 ou float4
Valeurs de dividende.

Y : identique à l’entrée X
Valeurs de diviseur.

Output:

Output : identique à l’entrée X
Modulo par composant.
None
Frac Supprime la partie entière (nombre entier) de l’entrée spécifiée par composant.

Pour chaque composant du résultat, la partie entière du composant correspondant de l’entrée est supprimée, mais la partie fractionnaire et le signe sont conservés. Cette valeur fractionnaire est comprise dans la plage [0, 1). Par exemple, la valeur -3,14 devient la valeur -0,14.

Entrée :

X : float, float2, float3 ou float4
Valeurs pour lesquelles calculer la partie fractionnaire.

Output:

Output : identique à l’entrée X
Partie fractionnaire par composant.
None
Lerp Interpolation linéaire. Calcule la moyenne pondérée des entrées spécifiées.

Pour chaque composant du résultat, moyenne pondérée des composants correspondants des entrées X et Y. La pondération fournie par Percent, un scalaire, est appliquée uniformément à tous les composants. Vous pouvez l’utiliser pour procéder à l’interpolation entre les points, les couleurs, les attributs et les autres valeurs.

Entrée :

X : float, float2, float3 ou float4
Valeur d’origine. Lorsque Percent correspond à zéro, le résultat est égal à cette entrée.

Y : identique à l’entrée X
Valeur terminale. Lorsque Percent correspond à un, le résultat est égal à cette entrée.

Percent: float
Pondération scalaire exprimée en pourcentage de la distance de l’entrée X vers l’entrée Y.

Output:

Output : identique à l’entrée X
Valeur colinéaire avec les entrées spécifiées.
None
Multiplier Ajouter Calcule la multiplication/addition des entrées spécifiées.

Pour chaque composant du résultat, le produit des composants correspondants des entrées M et A est ajouté au composant correspondant de l’entrée B. Cette série d’opérations est observable dans des formules courantes, par exemple dans la formule de calcul de la pente d’une droite à partir d’un point (point-slope) et dans la formule de mise à l’échelle et de compensation d’une entrée.

Entrée :

M : float, float2, float3 ou float4
Une des valeurs à multiplier.

A : identique à l’entrée M
Une des valeurs à multiplier.

B : identique à l’entrée M
Valeurs à ajouter au produit des deux autres entrées.

Output:

Output : identique à l’entrée M
Résultat de la multiplication/addition par composant.
None
Max Calcule le maximum des entrées spécifiées.

Pour chaque composant du résultat, c’est le plus grand des composants correspondants des entrées qui est pris.

Entrée :

X : float, float2, float3 ou float4
Une des valeurs pour lesquelles calculer le maximum.

Y : identique à l’entrée X
Une des valeurs pour lesquelles calculer le maximum.

Output:

Output : identique à l’entrée X
Valeur maximale par composant.
None
Min Calcule le minimum des entrées spécifiées.

Pour chaque composant du résultat, c’est le plus petit des composants correspondants des entrées qui est pris.

Entrée :

X : float, float2, float3 ou float4
Une des valeurs pour lesquelles calculer le minimum.

Y : identique à l’entrée X
Une des valeurs pour lesquelles calculer le minimum.

Output:

Output : identique à l’entrée X
Valeur minimale par composant.
None
Multiplier Calcule le produit des entrées spécifiées.

Pour chaque composant du résultat, les composants correspondants des entrées X et Y sont multipliés.

Entrée :

X : float, float2, float3 ou float4
Une des valeurs à multiplier.

Y : identique à l’entrée X
Une des valeurs à multiplier.

Output:

Output : identique à l’entrée X
Produit par composant.
None
Normaliser Normalise le vecteur spécifié.

Un vecteur normalisé conserve la direction du vecteur d’origine, mais pas son amplitude. Vous pouvez utiliser des vecteurs normalisés afin de simplifier des calculs pour lesquels l’amplitude d’un vecteur n’est pas importante.

Entrée :

X : float2, float3 ou float4
Vecteur à normaliser.

Output:

Output : identique à l’entrée X
Vecteur normalisé.
None
Un moins Calcule la différence entre 1 et l’entrée spécifiée par composant.

Pour chaque composant du résultat, le composant correspondant de l’entrée est soustrait de 1.

Entrée :

X : float, float2, float3 ou float4
Valeurs à soustraire de 1.

Output:

Output : identique à l’entrée X
Différence entre 1 et l’entrée spécifiée, par composant.
None
Power Calcule l’élévation à une puissance des entrées spécifiées.

Pour chaque composant du résultat, le composant correspondant de l’entrée X est élevé à la puissance du composant correspondant de l’entrée Y.

Entrée :

X : float, float2, float3 ou float4
Valeurs de base

Y : identique à l’entrée X
Valeurs d’exposant.

Output:

Output : identique à l’entrée X
Élévation à une puissance, par composant.
None
Saturer Fixe chaque composant de l’entrée spécifiée à la plage [0, 1].

Vous pouvez utiliser cette plage pour représenter des pourcentages et d’autres mesures relatives dans les calculs. Pour chaque composant du résultat, les valeurs du composant correspondant de l’entrée qui sont inférieures à 0 sont égales à la valeur 0, les valeurs supérieures à 1 sont égales à la valeur 1, et les valeurs comprises dans la plage restent inchangées.

Entrée :

X : float, float2, float3 ou float4
Valeurs à saturer.

Output:

Output : identique à l’entrée X
Valeur saturée par composant.
None
Sin Calcule le sinus de l’entrée spécifiée, en radians, par composant.

Pour chaque composant du résultat, le sinus du composant correspondant, qui est fourni en radians, est calculé. Le résultat compte des composants dont les valeurs sont comprises dans la plage [-1, 1].

Entrée :

X : float, float2, float3 ou float4
Valeurs pour lesquelles calculer le sinus, en radians.

Output:

Output : identique à l’entrée X
Sinus par composant.
None
Rac Calcule la racine carrée de l’entrée spécifiée par composant.

Pour chaque composant du résultat, la racine carrée du composant correspondant est calculée.

Entrée :

X : float, float2, float3 ou float4
Valeurs pour lesquelles calculer la racine carrée.

Output:

Output : identique à l’entrée X
Racine carrée par composant.
None
Soustraire Calcule la différence des entrées spécifiées.

Pour chaque composant du résultat, le composant correspondant de l’entrée Y est soustrait du composant correspondant de l’entrée X. Vous pouvez l’utiliser pour calculer le vecteur qui s’étend de la première entrée à la seconde.

Entrée :

X : float, float2, float3 ou float4
Valeurs à partir desquelles il convient d’effectuer une soustraction.

Y : identique à l’entrée X
Valeurs à soustraire de l’entrée X.

Output:

Output : identique à l’entrée X
Différence par composant.
None
Transformer le vecteur 3D Transforme le vecteur 3D spécifié dans un autre espace.

Vous pouvez l’utiliser pour placer des points ou des vecteurs dans un espace commun afin de pouvoir les utiliser pour effectuer des calculs explicites.

Entrée :

Vector: float3
Vecteur à transformer.

Output:

Output: float3
Vecteur transformé.
Depuis le système
Espace natif du vecteur.

Vers le système
Espace dans lequel transformer le vecteur.

Nœuds utilitaires

Dans le concepteur de nuanceur, les nœuds utilitaires représentent des calculs de nuanceur communs et utiles qui ne s’inscrivent pas parfaitement dans les autres catégories. Certains nœuds utilitaires effectuent des opérations simples comme l’ajout de vecteurs ou le choix conditionnel de résultats, tandis que d’autres effectuent des opérations complexes telles que le calcul des contributions d’éclairage en fonction des modèles d’éclairage les plus utilisés.

Informations de référence des nœuds utilitaires

Nœud Détails Propriétés
Ajouter un vecteur Crée un vecteur en ajoutant les entrées spécifiées ensemble.

Entrée :

Vector : float, float2 ou float3
Valeurs pour lesquelles procéder à des ajouts.

Value to Append: float
Valeur à ajouter.

Output:

Output : float2, float3 ou float4 en fonction du type d’entrée Vector
Nouveau vecteur.
None
Fresnel Calcule la courbe décroissante de Fresnel en fonction de la normale à la surface spécifiée.

La valeur de la courbe décroissante de Fresnel exprime le degré auquel la normale à la surface du pixel actuel coïncide avec le vecteur de la vue. Lorsque les vecteurs sont alignés, le résultat de la fonction est 0 ; le résultat augmente à mesure que les vecteurs sont moins semblables, et il atteint sa valeur maximale lorsque les vecteurs sont orthogonaux. Vous pouvez l’utiliser pour rendre un effet plus ou moins apparent en fonction de la relation existant entre l’appareil photo et l’orientation du pixel actuel.

Entrée :

Surface Normal: float3
Normale à la surface du pixel actuel, définie dans l’espace tangent du pixel actuel. Vous pouvez l’utiliser pour compromettre la normale à la surface apparente, comme dans le mappage des normales.

Output:

Output: float
Réflectivité du pixel actuel.
Exposant
Exposant utilisé pour calculer la courbe décroissante de Fresnel.
If Choisit de façon conditionnelle l’un des trois résultats potentiels par composant. La condition est définie par la relation existant entre deux autres entrées spécifiées.

Pour chaque composant du résultat, le composant correspondant de l’un des trois résultats potentiels est choisi, en fonction de la relation existant entre les composants correspondants des deux premières entrées.

Entrée :

X : float, float2, float3 ou float4
Valeur de gauche à comparer.

Y : même type que l’entrée X
Valeur de droite à comparer.

X > Y : même type que l’entrée X
Valeurs qui sont choisies lorsque X est supérieur à Y.

X = Y : même type que l’entrée X
Valeurs qui sont choisies lorsque X est égal à Y.

X < Y : même type que l’entrée X
Valeurs qui sont choisies lorsque X est inférieur à Y.

Output:

Output: float3
Résultat choisi par composant.
None
Lambert Calcule la couleur du pixel actuel en fonction du modèle d’éclairage Lambert, à l’aide de la normale à la surface spécifiée.

Cette couleur est la somme des contributions de couleur ambiante et d’éclairage diffus dans des conditions d’éclairage direct. La couleur ambiante est proche de la contribution totale d’éclairage indirect, mais semble plate et terne sans le recours à un éclairage supplémentaire. Un éclairage diffus permet d’ajouter une forme et une profondeur à un objet.

Entrée :

Surface Normal: float3
Normale à la surface du pixel actuel, définie dans l’espace tangent du pixel actuel. Vous pouvez l’utiliser pour compromettre la normale à la surface apparente, comme dans le mappage des normales.

Diffuse Color: float3
Couleur diffuse du pixel actuel, en général la Couleur du point. Si aucune entrée n’est fournie, la valeur par défaut est le blanc.

Output:

Output: float3
Couleur diffuse du pixel actuel.
None
Vecteur de masque Masque les composants du vecteur spécifié.

Vous pouvez l’utiliser pour supprimer des canaux de couleur spécifiques d’une valeur de couleur ou pour éviter que des composants spécifiques n’affectent les calculs suivants.

Entrée :

Vector: float4
Vecteur à masquer.

Output:

Output: float4
Vecteur masqué.
Rouge / X
False pour masquer le composant rouge (x). True dans le cas contraire.

Vert / Y
False pour masquer le composant vert (y). True dans le cas contraire.

Bleu / Z
False pour masquer le composant bleu (z). True dans le cas contraire.

Alpha / W
False pour masquer le composant alpha (w). True dans le cas contraire.
Vecteur de réflexion Calcule le vecteur de réflexion pour le pixel actuel dans l’espace tangent, en fonction de la position de l’appareil photo.

Vous pouvez l’utiliser pour calculer les réflexions, les coordonnées de carte cubique et les contributions d’éclairage spéculaire.

Entrée :

Tangent Space Surface Normal: float3
Normale à la surface du pixel actuel, définie dans l’espace tangent du pixel actuel. Vous pouvez l’utiliser pour compromettre la normale à la surface apparente, comme dans le mappage des normales.

Output:

Output: float3
Vecteur de réflexion.
None
Spéculaire Calcule la contribution d’éclairage spéculaire en fonction du modèle d’éclairage Phong, à l’aide de la normale à la surface spécifiée.

L’éclairage spéculaire donne une apparence brillante et réfléchissante à un objet, par exemple, l’eau, le plastique ou les métaux.

Entrée :

Surface Normal: float3
Normale à la surface du pixel actuel, définie dans l’espace tangent du pixel actuel. Vous pouvez l’utiliser pour compromettre la normale à la surface apparente, comme dans le mappage des normales.

Output:

Output: float3
Contribution de couleur des surbrillances spéculaires.
None

Nœuds de filtres

Dans le concepteur de nuanceur, les nœuds de filtre transforment une entrée, par exemple, un échantillon de couleur ou de texture, en valeur de couleur figurative. Ces valeurs de couleurs figuratives sont couramment utilisées dans un rendu non photoréaliste ou comme composants dans d’autres effets visuels.

Informations de référence des nœuds de filtre

Nœud Détails Propriétés
Flou Estompe les pixels d’une texture à l’aide d’une fonction gaussienne.

Vous pouvez l’utiliser pour réduire le détail ou le bruit des couleurs dans une texture.

Entrée :

UV: float2
Coordonnées de la texture à tester.

Output:

Output: float4
Valeur de couleur floue.
Texture
Registre de texture associé à l’échantillonneur utilisé lors de la création du flou.
Désaturer Réduit la quantité de couleur dans la couleur spécifiée.

À mesure que vous enlevez de la couleur, la valeur de couleur s’approche de son équivalent dans les nuances de gris.

Entrée :

RGB: float3
Couleur à désaturer.

Percent: float
Pourcentage de couleur à supprimer, exprimé en valeur normalisée dans la plage [0, 1].

Output:

Output: float3
Couleur désaturée.
Luminance
Pondérations attribuées aux composants de couleur rouge, vert et bleu.
Détection des bords Détecte les bords d’une texture à l’aide d’un détecteur de contour Canny. Les pixels en périphérie sont sortis en blanc tandis que les pixels autres que de périphérie sont sortis en noir.

Vous pouvez l’utiliser pour identifier les bords d’une texture afin de pouvoir utiliser des effets supplémentaires pour traiter les pixels de contour.

Entrée :

UV: float2
Coordonnées de la texture à tester.

Output:

Output: float4
Blanc si la texture se trouve sur un bord ; noir dans le cas contraire.
Texture
Registre de texture associé à l’échantillonneur utilisé au cours de la détection des bords.
Améliorer la netteté Améliore la netteté d’une texture.

Vous pouvez l’utiliser pour mettre en évidence les moindres détails d’une texture.

Entrée :

UV: float2
Coordonnées de la texture à tester.

Output:

Output: float4
Valeur de couleur floue.
Texture
Registre de texture associé à l’échantillonneur utilisé lors de l’amélioration de la netteté.

Étapes suivantes

Si vous souhaitez obtenir plus d’informations, consultez Créer des nuanceurs avec le Concepteur de nuanceur dans Visual Studio.