warp permet de modifier un peu les motifs, pour les rendre plus jolis, moins linéaires.
warp est une zone à part entière à l'intérieur de pigment, tout comme
color_map :
Code : C1
2
3
4
5
6
7
8
9 | pigment {
...
color_map {
...
}
warp {
...
}
}
|
turbulence
turbulence est l'outil principal de
warp. Il permet de... troubler le motif.
Imaginez que le motif est en fait constitué de fluides colorés...
turbulence permet de "souffler" dessus, pour créer des courants, et tout mélanger un peu.
turbulence est suivi d'un vecteur, donnant la direction du "souffle". La longueur du vecteur donne la force.
Regarder ces deux vecteurs :
Code : C
Qu'ont-ils de particulier ?
Ils sont proportionnels !

(Bah oui, les maths ça sert !)
En fait, on dit qu'ils sont colinéaires. Ça veut dire quoi ? Qu'ils vont dans la même direction !
Seulement, l'un des deux est deux fois plus court.
Placés dans
turbulence, ces deux vecteurs donneraient des souffles dans la même direction, mais de puissances différentes...
Prenons un exemple simple : un plan avec un échiquier.
Code : C 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | camera {
location <0,2,-3>
look_at <0,0,0>
}
light_source {
<2,5,-4>
rgb <1,1,1>
}
plane {
y,
0
pigment {
checker
rgb <0,0,0>
rgb <1,1,1>
}
}
|
Cela devrait donner ceci :
Maintenant, ajoutons une zone
warp, avec une
turbulence de <0.2,0,0>...
Code : C 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | camera {
location <0,2,-3>
look_at <0,0,0>
}
light_source {
<2,5,-4>
rgb <1,1,1>
}
plane {
y,
0
pigment {
checker
rgb <0,0,0>
rgb <1,1,1>
warp {
turbulence <0.2,0,0>
}
}
}
|
Voilà le résultat :
Comme vous pouvez le voir,
turbulence a modifié les bords des cases, mais uniquement dans le sens des "x". En mettant un vecteur plus fort, comme <0.5,0,0>, on obtient :
Et voici le même plan, troublé grâce au vecteur <0.2,0,0.1> :

Ici, les cases sont déformées dans tous les sens...
Bon, j'imagine que vous avez compris comment fonctionne
turbulence. Essayez avec d'autres motifs, vous verrez qu'on peut arriver à des trucs sympas.
turbulence est l'outil principal de warp : il est obligatoire (du moins si vous voulez utiliser warp ^^).
Les outils suivants permettent de "configurer" turbulence.
octaves
Vous vous demandez peut-être pourquoi je viens vous parler d'
octaves ici ?...
Non, je ne parle pas des octaves de musiques !

(bien que les musiciens pourront voir quelques rapports)
En fait,
turbulence fait "bouger" des points, dans une direction qui est à peu près celle du "souffle".
octaves permet de définir combien de ces déplacements on fait pour chaque point. Par défaut,
octaves vaut 6, ce qui veut dire que chaque point subit 6 déplacements avant de trouver sa place finale. La valeur maximale est 10.
Plus la valeur d'
octaves est élevée, plus la turbulence est précise, tandis qu'une valeur faible donne des modifications plus douces ; cependant, puisqu'il y a plus de déplacements à calculer, ça peut prendre plus de temps.
Voila des exemples avec
turbulence <0.2,0,0.1> :
octaves 1
octaves 4
octaves 10
Comme vous pouvez le voir, une valeur de 4 ou 5 suffit très souvent, et permet d'obtenir un rendu plus rapide qu'avec la valeur par défaut (qui est 6). Une valeur de 1 donne un effet qui peut être intéressant...
lambda
Le paramètre
lambda permet de spécifier statistiquement la différence entre un déplacement et le suivant...
Voici des exemples, pour
turbulence <0.2,0,0.1> et
octaves 4 :
lambda 1 :
lambda 2 :
lambda 4 :
Des valeurs basses donnent des modifications douces, tandis que des valeurs plus hautes donnent des modifications plus agitées...
omega
Et voici le dernier paramètre de
warp :
omega. La valeur d'
omega permet de donner le rapport de distance entre un déplacement et le suivant : la valeur par défaut, de 0.5, fait en sorte que chaque déplacement soit moitié moins grand que celui d'avant.
Voici trois exemples, utilisant :
turbulence <0.2,0,0.1>
octaves 6
lambda 2
omega 0.1
omega 0.4
omega 0.8
Et voilà ! Ce n'était pas si dur, hein ?
warp est vraiment vraiment super utile, il permet de transformer les motifs tout pas beaux en motifs super-top... Je vous laisse essayer

.
Bon, c'est pas encore fini pour
warp, il reste 2-3 petits trucs, mais le plus important est passé !