Reducing Noise

Lors de l’exécution d’un rendu final, il est important de réduire le bruit autant que possible. Ici, nous allons discuter d’un certain nombre d’astuces qui, tout en enfreignant les lois de la physique, sont particulièrement importantes lors du rendu d’animations dans un délai raisonnable. Cliquez pour agrandir les exemples d’images pour bien voir les différences de bruit.

Path Tracing

Cycles utilise le chemin de traçage avec l’estimation de l’événement suivant, ce qui n’est pas bon pour le rendu de tous les types d’effets lumineux, comme les caustiques, mais a l’avantage de pouvoir rendre des scènes plus détaillées et plus grandes par rapport à d’autres algorithmes de rendu. C’est parce que nous n’avons pas besoin de stocker, par exemple, une carte de photons en mémoire, et parce que nous pouvons garder les rayons relativement cohérents pour utiliser un cache d’images à la demande, par rapport à par ex. chemin bidirectionnel de traçage.

../../../_images/render_cycles_render-settings_light-paths_rays.svg

Nous faisons l’inverse de ce que fait la réalité, en traçant les rayons lumineux de la caméra dans la scène et sur les lumières, plutôt que des sources lumineuses dans la scène puis dans la caméra. Cela a l’avantage de ne pas gaspiller de rayons lumineux qui ne se retrouveront pas dans l’appareil photo, mais cela signifie également qu’il est difficile de trouver des chemins lumineux qui peuvent y contribuer beaucoup. Les rayons lumineux seront envoyés soit selon la surface BRDF, soit en direction de sources lumineuses connues.

Voir aussi

Pour plus de détails, consultez la documentation Light Paths et Sampling.

La source du bruit

Pour comprendre d’où peut provenir le bruit, prenons par exemple la scène ci-dessous. Lorsque l’on trace un rayon lumineux à l’endroit marqué par le cercle blanc sur un point rouge, la deuxième image ci-dessous donne une impression de ce que le shader diffus “voit”.

Pour trouver la lumière réfléchie par cette surface, nous devons trouver la couleur moyenne de tous ces pixels. Notez le reflet brillant sur la sphère et le point lumineux que la lumière projette sur le mur voisin. Ces points chauds sont beaucoup plus lumineux que d’autres parties de l’image et contribueront de manière significative à l’éclairage de ce pixel.

../../../_images/render_cycles_optimizations_reducing-noise_fisheye-reference.jpg

La scène.

../../../_images/render_cycles_optimizations_reducing-noise_fisheye.jpg

Irradiance au point d’ombrage.

../../../_images/render_cycles_optimizations_reducing-noise_fisheye-hotspot.jpg

Les surbrillances détectées.

La lumière est une source de lumière connue, donc son emplacement est déjà connu, mais le ou les reflets brillants qu’elle provoque sont une autre affaire. Le mieux que nous puissions faire avec le chemin de traçage est de répartir les rayons lumineux de manière aléatoire sur l’hémisphère, dans l’espoir de trouver tous les points lumineux importants. Si pour certains pixels nous manquons un point lumineux, mais que nous le trouvons pour un autre, cela se traduit par du bruit. Plus nous prélevons d’échantillons, plus la probabilité de couvrir toutes les sources de lumière importantes est élevée.

Avec quelques astuces, nous pouvons réduire ce bruit. Si nous brouillons (blur) les points lumineux, ils deviennent plus gros et moins intenses, ce qui les rend plus faciles à trouver et moins bruyants. Cela ne donnera pas exactement le même résultat, mais il est souvent assez proche lorsqu’il est vu à travers une réflexion brillante diffuse ou douce. Vous trouverez ci-dessous un exemple d’utilisation de Glossy Filter et Light Falloff.

../../../_images/render_cycles_optimizations_reducing-noise_fisheye-blur-reference.jpg

Utilisation de Glossy Filter & Light Falloff.

../../../_images/render_cycles_optimizations_reducing-noise_fisheye-blur.jpg

Irradiance au point d’ombrage.

../../../_images/render_cycles_optimizations_reducing-noise_fisheye-blur-hotspot.jpg

Les surbrillances détectées.

Les rebonds

En réalité, la lumière rebondira un grand nombre de fois en raison de la vitesse de la lumière très élevée. En pratique, plus de rebonds introduiront plus de bruit et il peut être bon d’utiliser quelque chose comme le préréglage d’illumination globale limitée dans la section Light Paths qui utilise moins de rebonds pour différents types de shaders. Les surfaces diffuses peuvent généralement s’en tirer avec moins de rebonds, tandis que les surfaces brillantes ont besoin d’un peu plus, et les shaders de transmission tels que le verre en ont généralement le plus besoin.

../../../_images/render_cycles_optimizations_reducing-noise_0bounce.jpg

Pas de rebonds.

../../../_images/render_cycles_optimizations_reducing-noise_2bounce.jpg

Deux rebonds au max.

../../../_images/render_cycles_optimizations_reducing-noise_4bounce.jpg

Quatre rebonds au max.

Il est également important d’utiliser des couleurs de shader qui n’ont pas de composants de valeur 1.0 ou de valeurs proches de cela; essayez de garder la valeur maximale à 0,8 ou moins et rendez vos lumières plus lumineuses. En réalité, les surfaces reflètent rarement parfaitement toute la lumière, mais il y a bien sûr des exceptions; généralement, le verre laisse passer la plupart de la lumière, c’est pourquoi nous avons besoin de plus de rebonds. Des valeurs élevées pour les composants de couleur ont tendance à introduire du bruit car l’intensité lumineuse ne diminue alors pas beaucoup lorsqu’elle rebondit sur chaque surface.

Caustiques et filtre Glossy

Les caustiques sont une source de bruit bien connue, provoquant des Fireflies qui se produisent parce que le moteur de rendu a du mal à trouver des reflets spéculaires vus à travers une réflexion brillante, douce ou diffuse. Il existe une option No Caustics pour désactiver complètement le brillant derrière une réflexion diffuse. De nombreux moteurs de rendu désactivent généralement les caustiques par défaut.

../../../_images/render_cycles_optimizations_reducing-noise_reference.jpg

Paramètres par défaut.

../../../_images/render_cycles_optimizations_reducing-noise_no-caustics.jpg

Caustiques désactivés.

../../../_images/render_cycles_optimizations_reducing-noise_filter-glossy.jpg

Filtre Glossy supérieur à zéro.

Cependant, l’utilisation de No Caustics entraînera une lumière manquante et cela ne couvre toujours pas le cas où une réflexion brillante nette est vue à travers une réflexion brillante douce. Il existe une option Filter Glossy pour réduire le bruit de tels cas au détriment de la précision. Cela brouillera (blur) le reflet brillant et net pour le rendre plus facile à trouver, en augmentant la rugosité du shader.

Les images ci-dessus montrent les paramètres par défaut, pas de caustiques et le filtre glossy défini sur 1.0.

Atténuation de la lumière

En réalité, la lumière dans le vide tombera toujours à un taux de 1/(distance^2). Cependant, lorsque la distance tend vers zéro, cette valeur tend vers l’infini et nous pouvons obtenir des points très lumineux dans l’image. Il s’agit principalement d’un problème pour l’éclairage indirect où la probabilité de toucher un point aussi petit mais extrêmement lumineux est faible et n’arrive donc que rarement. C’est une recette typique pour les Fireflies.

../../../_images/render_cycles_optimizations_reducing-noise_falloff-hard.jpg

Falloff dur.

../../../_images/render_cycles_optimizations_reducing-noise_falloff-soft.jpg

Falloff doux.

Pour réduire ce problème, le nœud Light Falloff a un facteur Smooth, qui peut être utilisé pour réduire l’intensité maximale qu’une lumière peut apporter aux surfaces voisines. Les images ci-dessus montrent l’atténuation par défaut et la valeur de lissage 1.0.

Multiple Importance Sampling (Échantillonnage d’importance multiple)

Les matériaux avec des shaders d’émission peuvent être configurés pour utiliser Multiple Importance Sampling (l’échantillonnage à importance multiple) (Paramètres de matériau). Cela signifie qu’ils recevront des rayons envoyés directement vers eux, plutôt que de s’y retrouver en fonction de rayons rebondissant de manière aléatoire. Pour les sources lumineuses à maillages très lumineux, cela peut réduire considérablement le bruit. Cependant, lorsque l’émission n’est pas particulièrement brillante, cela prélèvera des échantillons d’autres sources lumineuses plus brillantes pour lesquelles il est important de les trouver de cette manière.

Le réglage optimal ici est difficile à deviner; il peut s’agir d’une question d’essais et d’erreurs, mais il est souvent clair qu’un objet quelque peu brillant peut uniquement apporter de la lumière localement, alors qu’une lumière maillée utilisée comme lumière nécessiterait que cette option soit activée. Voici un exemple où les sphères émissives contribuent peu à l’éclairage, et l’image est rendue avec un peu moins de bruit en désactivant Multiple Importance sur elles.

../../../_images/render_cycles_optimizations_reducing-noise_sample-lamp.jpg

Multiple Importance désactivée.

../../../_images/render_cycles_optimizations_reducing-noise_no-sample-lamp.jpg

Multiple Importance activée.

L’arrière-plan du monde a également une option Multiple Importance (Réglages). C’est surtout utile pour les cartes d’environnement qui contiennent de petits points lumineux, plutôt que d’être lisses. Cette option déterminera ensuite, dans un pré-traitement, les points lumineux et enverra des rayons lumineux directement vers eux. Encore une fois, l’activation de cette option peut retirer des échantillons de sources lumineuses plus importantes si cela n’est pas nécessaire.

Verre et Ombres Transparentes

With caustics disabled, glass shadows may appear too dark, and with filter glossy the caustics might be too soft. We can make a glass shader that will use a Glass BSDF when viewed directly, and a Transparent BSDF when viewed indirectly. The Transparent BSDF can be used for transparent shadows to find light sources straight through surfaces, and will give properly-colored shadows, but without the caustics. The Light Path node is used to determine when to use which of the two shaders.

../../../_images/render_cycles_optimizations_reducing-noise_glass-group.png

Glass shader optimisé.

Above we can see the node setup used for the glass transparency trick; on the left the render has dark shadows due to missing caustics, and on the right the render with the trick.

../../../_images/render_cycles_optimizations_reducing-noise_glass-too-much-shadow.jpg

Glass BSDF par défaut.

../../../_images/render_cycles_optimizations_reducing-noise_glass-trick.jpg

Glass Shader optimisé.

Portails de lumière

Lors du rendu d’une scène d’intérieur à la lumière du jour où la majeure partie de la lumière entre par une ouverture de fenêtre ou de porte, il est difficile pour l’intégrateur de trouver son chemin. Pour résoudre ce problème, utilisez Light Portals. Vous devrez ensuite modifier sa forme pour qu’elle corresponde à celle de l’ouverture que vous essayez de remplir.

../../../_images/render_cycles_light-settings_portals2.jpg
../../../_images/render_cycles_light-settings_portals.jpg

Denoising (débruitage)

Même avec tous les paramètres décrits ci-dessus, il y aura toujours du bruit de rendu, quel que soit le nombre d’échantillons que vous utilisez. Pour résoudre ce problème, il existe une technique de post-traitement pour nettoyer le dernier morceau de bruit. Pour l’utiliser, activez le Denoising de l’onglet des propriétés.

Ci-dessous un exemple de rendu par The Pixelary.

../../../_images/render_layers_denoising_example1.jpg

Exemple de rendu avant débruitage.

../../../_images/render_layers_denoising_example2.jpg

Exemple de rendu après débruitage.

Clamp Fireflies

Idéalement, avec toutes les astuces précédentes, les Fireflies seraient éliminées, mais elles pourraient toujours se produire. Pour cela, l’intensité que tout échantillon de rayon lumineux individuel contribuera à un pixel peut être limitée à une valeur maximale avec le paramètre Clamp setting de l’intégrateur.

Si réglé trop bas, cela peut entraîner des reflets manquants dans l’image, ce qui peut être utile pour préserver les effets de l’appareil photo tels que la floraison ou l’éblouissement. Pour atténuer cela, il est souvent utile de ne bloquer que les rebonds indirects, en laissant les hautes lumières directement visibles pour la caméra intactes.

../../../_images/render_cycles_optimizations_reducing-noise_no-clamp.jpg

Pas de Clamp (0).

../../../_images/render_cycles_optimizations_reducing-noise_clamp4.jpg

Avec Clamp réglé sur 4.