vers l'index général de l'aide

l'anticrénelage ("antialiasing")

Lorsque POV-Ray cherche à déterminer la couleur d'un pixel, il ne se soucie pas de la couleur des pixels voisins. Le long d'un dégradé, ce n'est pas un problème, mais lorsqu'on a affaire à des changements brutaux de couleur (contour d'un objet et fond, par exemple), un problème particulier apparaît : le crénelage, souvent appelé "marches d'escalier". L'effet est très déplaisant, surtout sur les obliques et les textures "en grille", où un désagréable effet de moirage* apparaît.

Le moirage, c'est quand deux trames superposées produisent une interférence, comme quand un gars avec un veston à rayures passe à la télé, ou comme quand on superpose deux moustiquaires.

Puisque c'est la variation brusque de couleur qui produit cet effet, il faut trouver un moyen de l'adoucir.

escaliers en gros plan

La solution consiste à détecter d'abord ces changements de couleur, puis, quand ils se produisent, à aller chercher la couleur des "sous-pixels" (subdivisions) du pixel incriminé, et puis simplement faire une moyenne de la couleur des sous-pixels, et de l'utiliser comme couleur du pixel définitif.

escaliers en gros plan

Voici la différence observée sur un rendu :

sans anticrénelageavec anticrénelage
sans anticrénelageavec anticrénelage

paramétrage

commandeinidéfautdescription
+A, -AAntialias=b-enclenche l'anticrénelage (avec un seuil de 0.3)
+An.n, -An.nAntialias_Threshold=n.n0.3spécifie le seuil de déclenchement de l'anticrénelage
+AMnSampling_Method=n1sélectionne la méthode à employer (1 ou 2)
+RnAntialias_Depth=n2spécifie la finesse de la subdivision
+J, -JJitter=b+enclenche l'errance d'échantillonnage
+Jn.n, -Jn.nJitter_Amount=n.n1spécifie le taux d'errance d'échantillonnage

Le "seuil de déclenchement" spécifie quelle différence minimale de couleur (rgb) suffit à enclencher le processus d'anticrénelage (afin d'éviter de faire du suréchantillonnage dans des zones où ce n'est pas nécessaire). La différence entre deux pixels (<r1,g1,b1> et <r2,g2,b2>) est évaluée comme suit : différence = abs(r1-r2) + abs(g1-g2) + abs(b1-b2).

Plus ce seuil est bas, plus le résultat sera beau, mais plus le rendu sera long aussi, puisqu'il faudra lancer plus de rayons.

+Rn, où n est un entier entre 1 et 9, spécifie le nombre de subdivisions à effectuer pour chaque pixel qui le demande. Comme il s'agit d'une grille de subdivision, le nombre d'échantillons supplémentaires sera n*n.

Enfin, l'errance ("jitter") permet d'appliquer une déviation aléatoire aux rayons primaires des subdivisions des pixels, afin d'atténuer les effets de moirages. Sur les contours nets, l'errance a tendance à "émousser" un peu les limites, alors, selon l'image, il peut être utile de désenclencher cette option.

la deuxième méthode

Par l'option +AM2, on peut enclencher l'utilisation de la méthode d'anticrénelage dite "adaptive". Au lieu de subdiviser aveuglément les pixels, cette méthode pratique par subdivisions successives, et ne pratique une re-subdivision que lorsque c'est nécessaire.

La valeur donnée alors à +R prend un autre sens, et spécifie le nombre maximal (si toutes les subdivisions ont lieu) d'échantillons à prendre en compte.

valeur de +Rnombre maximal d'échantillonsformule (pur le fun)
1921+1
22522+1
38123+1
428924+1
5108925+1
6422526+1
71664127+1
86604928+1
926316929+1

Pour chaque pixel à réévaluer, POV-Ray commence par échantillonner les quatre coins du pixel, et compare les couleurs obtenue. Si leur différences dépassent le seuil spécifié, le pixel est subdivisé en 4, et recommence à échantillonner les coins de ces sous-pixels, et ainsi de suite, mais en évitant de re-subdiviser une zone où la différence entre les couleurs est plus faible que le seuil.

rédacteur : Fabien Mosen