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.

With some tricks we can reduce this noise. If we blur the bright spots, they become bigger and less intense, making them easier to find and less noisy. This will not give the same exact result, but often it’s close enough when viewed through a diffuse or soft glossy reflection. Below is an example of using Glossy Filter and 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

Caustics are a well-known source of noise, causing Fireflies. They happen because the renderer has difficulty finding specular highlights viewed through a soft glossy or diffuse reflection. There is a No Caustics option to disable glossy behind a diffuse reflection entirely. Many renderers will typically disable caustics by default.

../../../_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.

However, using No Caustics will result in missing light, and it still does not cover the case where a sharp glossy reflection is viewed through a soft glossy reflection. There is a Filter Glossy option to reduce the noise from such cases at the cost of accuracy. This will blur the sharp glossy reflection to make it easier to find, by increasing the shader Roughness.

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

Avec les caustiques désactivées, le verre manquera d’ombres et avec un filtre brillant, elles pourraient être trop douces. Nous pouvons créer un shader de verre qui utilisera un verre BSDF lorsqu’il est vu directement et un BSDF transparent lorsqu’il est vu indirectement. Le BSDF transparent peut être utilisé pour les ombres transparentes afin de trouver des sources lumineuses directement à travers les surfaces et donnera des ombres correctement colorées, mais sans les caustiques. Le nœud Light Path est utilisé pour déterminer quand utiliser lequel des deux shaders.

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

Glass shader optimisé.

Ci-dessus, nous pouvons voir la configuration du nœud utilisée pour l’astuce de la transparence du verre; à gauche le rendu a trop d’ombre à cause de caustiques manquantes et à droite le rendu avec l” astuce.

../../../_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 réglages décrits ci-dessus, il y aura toujours du bruit de rendu, quel que soit le nombre d’échantillons que vous utiliserez. Pour résoudre ce problème, il existe une technique de post-traitement pour nettoyer le dernier morceau de bruit. Pour l’utiliser, activez Denoising dans l’onglet Render Layers 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.