Les textures procédurales sont générées à partir de fonctions mathématiques plutôt que capturées depuis des photographies ou peintes à la main. Elles sont indépendantes de la résolution (vous pouvez les évaluer à n'importe quelle résolution), intrinsèquement sans couture (lors de l'utilisation d'un bruit répétable) et infiniment variables (changer une graine produit un résultat entièrement nouveau). Chaque générateur de textures sur Texturize utilise des techniques procédurales en coulisses.
Fonctions de bruit : la fondation
La plupart des textures procédurales commencent par une fonction de bruit — une fonction mathématique qui produit des valeurs pseudo-aléatoires mais lisses et continues dans un espace de coordonnées. Contrairement aux générateurs de nombres aléatoires qui produisent du bruit blanc non corrélé, les fonctions de bruit de textures produisent des valeurs qui varient en douceur, créant des dégradés et des formes organiques.
Bruit de valeur
L'approche la plus simple. Des valeurs aléatoires sont assignées aux points d'une grille entière, et les valeurs intermédiaires sont interpolées (généralement avec une interpolation cubique ou quintique). Le bruit de valeur est rapide mais a tendance à produire des artefacts visibles alignés sur la grille car les extrema se trouvent toujours sur les points de grille. Il fonctionne bien pour des nuages simples ou comme base pour des effets plus complexes.
Bruit de Perlin
Le bruit gradient de Ken Perlin (1983, amélioré en 2002) assigne des vecteurs gradient aléatoires aux points de grille et calcule des produits scalaires avec la distance au point d'évaluation. Le résultat a des valeurs nulles aux points de grille (pas d'extrema), ce qui élimine le problème d'artefact aligné sur la grille. Le bruit de Perlin est la norme industrielle pour les textures organiques — nuages, terrain, veines de marbre, caustiques de l'eau.
Bruit simplex
Également développé par Ken Perlin (2001), le bruit simplex utilise une grille triangulaire (simplex) au lieu d'une rectangulaire. Cela réduit le nombre d'évaluations de gradient de 4 (2D) ou 8 (3D) à 3 (2D) ou 4 (3D), le rendant plus rapide pour les dimensions supérieures. Le bruit simplex a également moins d'artefacts directionnels que le bruit de Perlin classique. Les implémentations modernes comme OpenSimplex2 évitent les problèmes de brevet de l'original.
Mouvement brownien fractionnaire (FBM)
Une seule octave de bruit produit des formes lisses et globuleuses. Les surfaces du monde réel ont des détails à plusieurs échelles : une montagne a une forme générale, des crêtes moyennes et des fissures fines. Le FBM superpose plusieurs octaves de bruit à fréquence croissante et amplitude décroissante pour simuler ce détail multi-échelle.
La formule typique : fbm(p) = bruit(p) + 0,5 × bruit(2p) + 0,25 × bruit(4p) + ... Chaque octave double la fréquence (lacunarité = 2,0) et divise l'amplitude par deux (gain = 0,5). Le nombre d'octaves contrôle le niveau de détail fin — 4 à 8 octaves est courant. Plus d'octaves ajoutent du coût de calcul mais leur impact visuel diminue au-delà de 8.
Déformation de domaine
La déformation de domaine injecte la sortie d'une fonction de bruit dans les coordonnées d'une autre : f(p) = fbm(p + fbm(p)). Cela distord le champ de bruit, créant des formes organiques et fluides qui ressemblent à du marbre tourbillonnant, des coulées de lave ou du fil de bois vieilli. L'enchaînement de plusieurs niveaux de déformation produit des motifs de plus en plus complexes et imprévisibles.
Notre Générateur de marbre utilise la déformation de domaine pour créer des motifs de veines réalistes. Le Générateur de lave enchaîne la déformation avec le remappage de couleurs pour simuler un flux de fusion.
Autres primitives procédurales
Voronoï / Bruit de Worley
Le bruit de Worley (également appelé bruit cellulaire) génère des motifs basés sur la distance aux points de graine dispersés aléatoirement. La fonction F1 (distance au point le plus proche) crée des motifs en forme de cellules : boue craquelée, écailles, pavés. La fonction F2−F1 produit des réseaux en forme de veines. Essayez le Générateur Voronoï pour expérimenter ces motifs.
Fonctions d'onde et de rayures
Les fonctions sinus et cosinus créent des rayures régulières. Combinées avec du bruit pour le déplacement, elles produisent des fils de bois (anneaux concentriques distordus par le bruit), des tissus et des motifs de vagues. Le Générateur de bois utilise des anneaux sinusoïdaux déplacés pour modéliser les motifs de croissance.
Rendre le bruit procédural sans couture
La technique standard évalue le bruit 2D sur la surface d'un tore de dimension supérieure. Pour des textures sans couture 2D, vous mappez (x, y) sur quatre coordonnées d'un tore 4D : (cos(2πx/l), sin(2πx/l), cos(2πy/h), sin(2πy/h)) et évaluez le bruit 4D. Cela garantit un retour parfait sans artefacts de mélange. Cela est plus coûteux en calcul que le bruit non répétable mais produit des joints mathématiquement parfaits.
Comment Texturize utilise la génération procédurale
Chaque générateur dans la bibliothèque Texturize est construit sur du bruit de Perlin à graine, du FBM, de la déformation de domaine, du Voronoï ou des fonctions de motif mathématiques. L'approche basée sur les graines signifie que chaque configuration est reproductible — partagez les mêmes paramètres et la même graine, et vous obtenez exactement la même texture à chaque fois. Toutes les évaluations de bruit utilisent des variantes répétables, de sorte que chaque sortie est garantie sans couture.