Rendu et applications

Relief fractal, normales et lumière

Une fractale d’aspect 3D ne nécessite pas nécessairement une fractale volumétrique. Un champ scalaire bidimensionnel peut être interprété comme une hauteur, différentié en normales et ombré à la manière d’une surface.

Relief fractal tridimensionnel rose sur fond noir
Relief 3D dans MandelKit : la hauteur, les normales et l'éclairage transforment les données fractales scalaires en une représentation spatiale.Image: Björn Kindler / MandelKit · MandelKit · Eigene Darstellung · Own work

Choisissez le champ « hauteur »

Une itération lisse, le potentiel, la distance ou un effet composite peuvent déterminer la hauteur. L'échelle non linéaire et le bornage déterminent si les détails fins des contours se transforment en crête, en plateau ou en bruit. Le champ choisi relève d'une interprétation artistique plutôt que d'un relief physique.

Le nombre d’itérations, le potentiel lisse et les champs de distance produisent des hauteurs très différentes. Les itérations brutes créent des marches, le potentiel continu des terrasses plus douces, et les champs de distance des crêtes de délimitation nettes. La hauteur doit être normalisée avant l’éclairage et son échelle enregistrée. Sinon, un changement de dégradé peut altérer le relief même si l’utilisateur ne s’attend qu’à un changement de couleur.

Normales issues d'échantillons voisins

Les différences finies permettent d’estimer les pentes horizontales et verticales. Leur produit vectoriel, ou formule équivalente du gradient, donne la direction de la normale. Le pas d’échantillonnage doit correspondre à l’échelle des pixels de sortie ; sinon, un zoom profond ou une exportation en haute résolution modifie la netteté apparente.

Les normales proviennent des différences entre des échantillons de hauteur voisins. Leur intensité dépend de l'espacement des pixels et du niveau de zoom ; une différence fixe non mise à l'échelle fait apparaître le même relief comme plus escarpé à une autre résolution. Les différences centrales sont plus symétriques que celles situées d'un seul côté. Les bords des tuiles nécessitent des échantillons de halo pour éviter les joints d'éclairage.

Lumière directionnelle et ponctuelle

La lumière directionnelle utilise une seule direction partout, comme une source lointaine. La lumière ponctuelle dépend du vecteur et de la distance par rapport à chaque point de la surface et peut s’atténuer. Les termes « ambiant », « diffus », « spéculaire » et « de type occlusion » doivent refléter des commandes et des états actifs distincts.

Une lumière directionnelle possède une direction pour chaque pixel. Une lumière ponctuelle nécessite également une position et une distance par rapport à chaque point de la surface, ce qui entraîne une variation de direction et d’atténuation. Un commutateur de l’interface utilisateur qui ne modifie que son libellé alors que le shader continue de lire un uniforme de direction ne peut en aucun cas activer le mode « Point ». Le modèle d’état, la disposition des uniformes et la branche du shader doivent tous utiliser le même type de lumière.

Sources et lectures complémentaires

Cet article résume les sources spécialisées suivantes en reprenant leur formulation d'origine. Consultées et révisées par la rédaction 12 août 2026.

  1. The Science of Fractal ImagesSpringer
  2. Metal overviewApple Developer Documentation