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.
We do the inverse of what reality does, tracing light rays from the camera into the scene and onto lights, rather than from the light sources into the scene and then into the camera. This has the advantage that we do not waste light rays that will not end up in the camera, but also means that it is difficult to find some light paths that may contribute a lot. Light rays will be sent either according to the surface BRDF, or in the direction of known light sources.
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”.
To find the light that is reflected from this surface, we need to find the average color from all these pixels. Note the glossy highlight on the sphere, and the bright spot the light casts on the nearby wall. These hotspots are much brighter than other parts of the image and will contribute significantly to the lighting of this pixel.
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.
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.
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.
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.
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) (Material Settings). 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.
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
Lorsque les caustiques sont désactivées, les ombres du verre peuvent apparaître trop sombres et trop douces avec le filtre brillant. Nous pouvons créer un shader de verre qui utilisera un Glass BSDF lorsqu’il est vu directement et un Transparent BSDF lorsqu’il est vu indirectement. Le BSDF transparent peut être utilisé pour les ombres transparentes afin de trouver des sources de lumière 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.
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.
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.
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.
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.