From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Les passes de rendu (Render Passes) représentent les différentes étapes que le moteur de rendu de Blender doit calculer pour vous fournir l’image finale. Dans chacune de ces “passes” il calcule une interaction différente entre objets.

Passes de rendu en détail

Tout ce que vous voyez dans un rendu a dû être calculé pour l’image finale. Toutes les interactions entre les objets de votre scène, l’éclairage, la caméra, les images de fond, les réglages du monde, etc., doivent être calculées en différentes passes pour différentes raisons, comme le calcul des ombres ou de la radiosité – dans un rendu, chaque pixel a été calculé plusieurs fois pour s’assurer qu’il affichera la bonne couleur pour la bonne partie de l’image. Un certain nombre de choses sont calculées, parmi lesquelles :

  • Où sont les ombres portées ? Chaque lampe projetant une ombre doit être “ray-tracée”, processus pendant lequel un certain nombre de rayons sont émis depuis ces lampes, et dont on calcule les interactions (“rencontres”) avec les objets pour déterminer l’éclairage et les ombres portées de ces derniers.
  • Comment la lumière ambiante de l’environnement est-elle bloquée (occluse) par les objets de la scène ?
  • Comment la lumière est-elle reflétée par les surfaces miroir ? Comme avec les ombres portées, des rayons sont émis, cette fois depuis la caméra, et ils “rebondissent” sur les surfaces réfléchissantes jusqu’à frapper un autre objet, qui est ce que la caméra devrait voir (un rayon peut bien sûr être reflété plus d’une fois).
  • Comment la lumière est-elle déviée (réfractée) lorsqu’elle passe dans un objet transparent ? Va-t-elle tout droit ? Est-elle déviée ? Si oui, à quel point ?
  • Quels sont les objets dans la scène, quels sont leurs contours ? L’objet doit-il être flou, ou net ?
  • À quelle vitesse (vélocité) se déplace un objet ? Doit-il apparaître flou ou est-il suffisamment lent (dans notre framerate) pour rester net ?
  • À quelle distance de la caméra se situe les surfaces des objets (Z-profondeur) ? La surface d’un objet est-elle visible, ou cachée par la géométrie d’un (d’)autre(s) objet(s) ?
  • Un objet a-t-il un vecteur normal (bumpmap) ? L’ombrage et la géométrie apparente doivent-ils être calculés pour un ou plusieurs objets ?
  • Y a-t-il de la spécularité ? Les objets avec des textures comme le métal brillent-ils ?
Moteur de rendu réécrit
À partir de Blender v2.42, le moteur de rendu a été réécrit. Si vous utilisez une version plus vieille de Blender, voyez « Unified Renderer » (en anglais).


La réponse à toutes ces questions prend la forme d’un ensemble d’images et de tableaux (“cartes”, “maps” en anglais) de données (de vecteurs) :

Manual-Render-RenderPasses-Example.jpg

Chaque passe de rendu produit donc une image ou une map (carte).

Celles qui produisent une image sont directement visibles dans un viewer, ou, si elles sont la seule passe rendue, sauvegardées comme image rendue. S’il y a plusieurs passes, vous pouvez les enregistrer toutes dans un fichier OpenEXR Multilayer.

Si la passe de rendu ne produit pas une image mais un tableau de vecteurs, elle doit être traduite en quelque chose que nous puissions visualiser. Par exemple, la map Z-profondeur est un tableau de valeurs simples (vecteurs de dimension une) qui donnent l’éloignement des pixels par rapport à la caméra ; ces valeurs peuvent aller de -3 000 000 à +3 000 000 d’unités Blender (BU) ou à peu près. Le nœud intermédiaire que vous voyez ci-dessus, entre la prise de sortie Z du nœud RenderLayers et celle d’entrée du nœud Viewer, un nœud Map Value, effectue cette “traduction” – en fait, une mise à l’échelle. Vous devez utiliser ce type de nœud de “traduction” pour avoir de bons résultats si vous voulez travailler sur ce type de données en tant qu’images. Vous devez ensuite, après vos ajustements, refaire passer ces données dans un nœud de “traduction” qui inversera la transformation appliquée par le premier, avant enregistrement.

Sélectionner les passes de rendu

Manual-RenderLayer-Panel.png

Chacune des images ci-dessus peut être utilisée pour extraire la passe correspondante. La seule raison de faire cela est de vouloir la modifier d’une manière ou d’une autre. (NdT : traduction incertaine de “Each of the above images can be selected for culling as a separate pass. The only reason for culling it out is that you want to adjust it somehow.”).

Certaines des ces passes de rendu doivent être activées et utilisées dans votre scène (et non seulement sélectionnées dans le panneau RenderLayers) pour afficher quoi que ce soit. Par exemple, si vous n’avez aucune lampe dans votre scène, ou que vos lampes sont réglées pour ne pas créer d’ombres, ou que les objets qui ont la vedette ont des matériaux réglés pour ne pas recevoir d’ombres, la passe Shadow (“ombre”) sera vide ; il n’y a tout simplement rien à voir. Si vous n’avez pas activé l’occlusion ambiante (Ambient Occlusion ou AO) dans les réglages de votre monde, la passe AO sera vide, même si vous l’activez ici.

Pour épargner temps de rendu et espace mémoire, vous devez indiquer à Blender quelles passes rendre, dans le panneau RenderLayers :

  • Combined : Cela rend toutes les passes dans une seule image, même celles qui ne sont pas nécessaires. Cela regroupe en une seule passe toutes les options ci-dessous.
  • Z : Les données de Z-profondeur : la distance entre la caméra et chaque pixel de l’image. Utilisé pour l’effet profondeur de champ (DoF). La carte de profondeur est l’inverse de la distance par rapport au “clip start” de la caméra.
  • Vec : Les vecteurs vitesse de chaque pixel/objet de l’image, à utiliser pour le flou cinétique (nœud Vector Blur).
  • Nor : Calcule l’éclairage et la géométrie apparente, pour du bumpmapping (processus simulant le volume des détails d’un objet à partir d’une image), ou pour modifier la direction apparente de l’éclairage.
  • UV : Permet l’application de textures après le rendu (voyez le nœud Map UV).
  • IndexOb : Permet d’utiliser le nœud ID Mask.
  • Col : Les couleurs de base de l’image.
  • Diff : Pour “Diffuse” ; les couleurs de l’image avant ombrage.
  • Spec : Les effets de spécularité.
  • Shad : Les ombres portées. Assurez-vous que des ombres sont émises par les lampes (positives ou négatives), et reçues par des matériaux. Pour utiliser cette passe, multipliez-la avec la passe Diffuse.
  • AO : Occlusion ambiante. Assurez-vous de l’avoir activée dans votre environnement, ainsi que le ray-tracing pour le rendu.
  • Refl : La réflection des objets miroirs (comme un miroir, bien sûr, mais aussi un parquet bien ciré, …). Ajoutez cette passe à la passe Diffuse pour l’utiliser.
  • Refr : La réfraction des objets transparents. Ajoutez cette passe à la passe Diffuse pour l’utiliser.
  • Rad : La radiosité ; les couleurs émises et/ou ré-émises par les objets vers d’autres objets.

Quand vous activez une passe de rendu, la prise idoine apparaît comme par magie sur le nœud RenderLayers, et peut-être utilisée comme montré par l’exemple précédent.

Dé-sélectionner des passes de rendu

Quand vous cliquez CtrlLMB Template-LMB.png sur une passe, celle-ci sera exclue de la passe Combined. Les passes exclues sont marquées par un point noir à côté de leur nom.

Utiliser les passes de rendu

Voici quelques éléments sur l’utilisation des certaines passes :


Recolorer les ombres

Manual-Render-RenderPasses-Example2.png

Faisons passer le résultat de la passe Shadow par un système de colorisation, puis recombinons-la avec le reste : toutes vos ombres seront artificiellement colorées. Le système de nœuds ci-contre est assez fouillis, voyons comment il fonctionne. À gauche se trouve le nœud d’entrée RenderLayers. Dans cette scène nous avons une boule réfléchissante placée sur un piédestal, devant un mur. Tout – sauf la sphère – est gris. Nous utilisons un système d’éclairage quatre points classique : la lampe de “débouchage” arrière placée en hauteur, les deux lampes de côté au sol, et la lampe principale au-dessus et à gauche de la caméra. Suzanne (la tête de singe, dans le menu AddMesh) est placée hors-champ, devant la lampe principale, de manière que son ombre soit portée sur le mur et le sol. Les deux nœuds Viewer du haut vous montrent l’Image avec la passe Shadow comme canal alpha, et directement cette même passe. Plus les ombres sont fortes (sombres), plus l’image de gauche est transparente. Nous avons ainsi “extrait” les ombres de l’image principale.

Nous passons ensuite les ombres dans un nœud RGB Curves, réglé pour n’augmenter que le bleu de 75% : une ombre grise de (R:40, G:40, B:40) devient (R:40, G:40, B:40×1.75=70). Ces ombres bleutées sont affichées dans le nœud Viewer du bas. Nous avons alors deux options pour mélanger ces ombres avec l’image principale : un nœud AlphaOver ou Mix. Quelle que soit l’option retenue :

  • Utilisez le canal Shadow (de base) comme Factor ;
  • Fournissez les ombres bleutées à la prise du haut ;
  • Fournissez l’image de base à la prise du bas.

L’image résultante est la même de toute façon : les ombres sont devenues bleues. Notez que la réflection de l’ombre de Suzanne sur la sphère n’est pas bleue : il y a une autre passe de rendu pour la réflection.

Vous pouvez tout aussi facilement échanger complètement des passes d’images différentes : par exemple, la passe Shadow d’un autre calque de rendu. Vous pouvez même prendre une image d’un tout autre projet et l’utiliser à la place (en utilisant un nœud d’entrée Image), pour obtenir un effet différent (par exemple, un effet similaire à celui d’un poster Star Wars, où Anakin Skywalker projette déjà l’ombre de Darth Vader).

Faire du compositing avec l’occlusion ambiante

Manual-Render-Passes-AO.jpg

L’AO est un effet “d’ombrage poussiéreux” (“dirt shading”) basé sur la géométrie des objets, qui rend leurs coins plus sombres. Il est activé et réglé dans les boutons World (onglet Amb Occ), et calculé dans une passe de rendu séparée. Si activée, l’AO existe en trois modes, Add (addition), Sub (soustraction) et Both (les deux), et avec un niveau d’Energy variable (qui contrôle l’intensité de l’ombrage). La troisième variable importante est la “sensibilité” du matériau à la “lumière ambiante” (boutons Material → panneau Shaders → curseur Amb). S’il y est totalement insensible (Amb à zéro), l’occlusion ambiante n’a aucun effet sur lui. En fonction de ces variables, Blender calcule une passe AO. Si vous voulez l’utiliser comme passe indépendante avant de la re-combiner avec votre image, vous aurez besoin d’activer également les passes Color et Diffuse.

Pour configurer dans ce but votre système de nœuds de compositing, considérez l’image d’exemple ci-dessus.

  1. D’abord, en fonction du mode d’AO, faites :
  • Si le mode AO est Add : utilisez directement la passe AO ;
  • Si le mode AO est Sub : appliquez à la passe AO la formule AO - 1 ;
  • Si le mode AO est Both : appliquez à la passe AO la formule 2×AO - 1 ;
  1. Multipliez la sortie de l’étape 1 avec le niveau d’Energy de l’AO ;
  2. Multipliez la sortie de l’étape 2 avec la valeur d’Ambiance du matériau. Si vous avez plusieurs matériaux avec différentes sensibilités à la lumière ambiante, vous devriez créer une ambience map (carte des valeurs de Amb) basée sur la passe IndexOB ;
  3. Multipliez la sortie de l’étape 3 avec la passe Color ;
  4. Ajoutez la sortie de l’étape 4 à la passe Diffuse.

Si les passe d’ombres (Shad), de radiosité (Rad), de spécularité (Spe), de réflection (Refl) et/ou de réfraction (Refr) sont utilisées, elles doivent être ajoutées à la passe Diffuse avant l’ajout de la passe AO convertie.

Appliquer un flou cinétique sur les ombres

Manual-Nodes-VectorBlur-Shadow.jpg

Quand vous utilisez le nœud de compositing Vector Blur pour faire un effet de flou cinétique, à la place de l’option de rendu MBLUR, les objets en mouvement sont floutés, mais les objets immobiles (par rapport à la caméra) ne le sont pas. Le problème provient des ombres des objets en mouvement. Ci-dessus, nous avons un cube se déplaçant au-dessus d’un plan. Si nous utilisons le système standard de flou vectoriel (nœud Vector Blur), le cube est flouté, mais son ombre est parfaitement nette, comme vous pouvez le voir dans le coin inférieur droit de l’image ci-dessus. Pas très réaliste.

Nous devons donc séparer les passes Diffuse et Shadow pour le plan, dans un nouveau calque de rendu nommé “Floor” : celui-ci ne rend que les passes diffuse et ombres du plan (sol). Un autre calque de rendu (“Object”) rend les passes Z et Vector (et Combined, bien sûr !), uniquement pour le cube. Avec un nœud Blur, nous floutons la passe Shadow du sol, puis la multiplions avec sa passe Diffuse (avec un nœud Mix en mode Multiply). Nous avons ainsi un sol net avec les ombres portées du cube floues. Il ne nous reste plus qu’à mélanger cela avec l’image floutée “cinétiquement” du cube, pour obtenir une image plus réaliste.

Conclusion

Les passes de rendu peuvent être manipulées, à partir de Blender v2.43, vous donnant quasiment le contrôle intégral du résultat final. Forcer des objets à projeter des ombres qui ne sont pas les leurs, les rendre flous ou nets comme avec une vraie caméra, manipuler les couleurs juste lors du post-processing final, ou simplement re-configurer vos passes de rendu pour réduire le temps de rendu, sont autant de choses qui pourraient vous conduire à manipuler les résultats du moteur de rendu.

Happy Blending !