Vous pouvez créer une boucle for de différentes manières. Vous pouvez créer un noeud Code personnalisé. Choisissez Outils
Activer/Désactiver le mode Avancé pour passer en mode Avancé, puis choisissez Noeuds d'ombrage matériels
Divers
Code personnalisé. Dans le groupe de fonctions Propriétés, cliquez sur le bouton Editer pour saisir votre code dans la boîte de dialogue de l'éditeur Code personnalisé qui s'affiche. Utilisez des fonctions compatibles avec le pilote de fenêtre DirectX.
Pour créer un noeud de boucle for, vous devez également être en mode Avancé.
L'exemple suivant montre comment utiliser une boucle for pour échantillonner une texture à trois reprises avec des décalages UV différents. Les valeurs échantillonnées sont ajoutées, le total est divisé par trois et la valeur moyenne est appliquée au canal Couleur diffuse de TraditionalGameSurfaceShader.
Configuration de la boucle for :
Activer/Désactiver le mode Avancé afin de vous assurer que ce mode est actif.
Commande de flux
Boucle for pour créer un noeud ForOp. 
Valeurs
Entier pour créer un noeud Entier. Dans le groupe de fonctions Propriétés, définissez sa valeur sur 3. Connectez-le à l'attribut B du noeud de boucle for. Par défaut, la valeur de l'attribut A est 0 et celle de l'attribut C est 1. Si vous utilisez ces valeurs par défaut pour votre boucle, il n'est pas nécessaire de connecter ces attributs.
Dans cet exemple, nous définissons for i = 0, i < 3, i++. Il n'est donc pas nécessaire de définir de manière explicite les valeurs A et C.
Divers
Chaîne pour créer une chaîne qui sera utilisée comme itérateur. Dans le groupe de fonctions Propriétés, sélectionnez i dans la liste déroulante Options par défaut (vous devez faire défiler la liste vers le bas pour voir cette option). Connectez le port de sortie du noeud Chaîne à l'attribut Itérateur du noeud de boucle for.
Valeurs
Float3 pour créer une variable dans laquelle stocker les valeurs qui sont calculées à l'intérieur de la boucle. 
Configuration de l'échantillonnage de texture :
Textures
Map Texture pour créer un noeud TextureMap. Dans le groupe de fonctions Propriétés, utilisez les commandes MyTexture / Trajectoire pour attribuer un fichier de texture à ce noeud. Dans le groupe de fonctions Propriétés, assurez-vous que les attributs Echantillonnage / Coordonnée U et Echantillonnage / Coordonnée V sont définis sur ENVELOPPER.
Puisque la texture est échantillonnée avec un décalage, l'échantillonnage peut dépasser la plage UV de 0 à 1. En définissant ces attributs sur ENVELOPPER, vous vous assurez que les pixels sont échantillonnés depuis le début de la texture lorsque la plage UV dépasse 1.0.
Valeurs
Réseau pour créer un noeud Réseau. Les trois jeux de valeurs de décalage sont stockés dans ce réseau.
Valeurs
Float2 à trois reprises pour créer trois noeuds Float2 pour le stockage de trois jeux de valeurs de décalage. Utilisez le groupe de fonctions Propriétés pour définir les trois attributs Float2 comme suit :
Entrées communes
Jeu d'UV pour créer un jeu d'UV, et Noeuds d'ombrage matériels
Mathématique
Ajouter pour créer un noeud Ajouter. 
Calcul de la moyenne des résultats échantillonnés :
Divers
Chaîne pour créer un noeud Chaîne. Dans le groupe de fonctions Propriétés, sélectionnez += dans la liste déroulante Options par défaut. La boucle for ajoute les résultats de l'échantillonnage de texture à la variable Résultat de boucle.
Mathématique
Diviser pour créer un noeud Diviser. Connectez l'attribut Sortie de la boucle for au premier attribut Valeur de Diviser. La valeur de Résultat de boucle étant la somme de trois lignes échantillonnées, elle doit être divisée par trois pour obtenir la moyenne.
Valeurs
Flottant pour créer un noeud Flottant. Dans le groupe de fonctions Propriétés, définissez sa valeur sur 3.0. Connectez son attribut Flottant à l'autre attribut Valeur de Diviser afin de diviser la somme des résultats échantillonnés par trois. 

Résultat de l'itération d'un motif en damier (rendu avec le rendu Quicksilver)
Vous pouvez exporter votre matériau ShaderFX vers un fichier d'ombrage et examiner le code d'ombrage pour afficher la boucle for que vous venez de créer :
float3 LoopResult = float3(1.0, 1.0, 1.0);
for(int i=0; i<3; i+=1)
{
float2 AddOp = (Array_bphdfiwhhj[i] + IN.map1.xy);
float4 Sampler = chessboard_woodjpg.Sample(MMMLWWWSampler, AddOp);
LoopResult += Sampler.xyz;
}
Pour plus d'informations sur l'exportation vers un fichier d'ombrage, reportez-vous à la rubrique Exportation vers HLSL, CgFX et GLSL.