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.

Nous savons que de par le monde, les utilisateurs de Blender ont des PC de puissance très variée. Le rendu en CG est le processus qui peut saturer le CPU et l’espace disque comme personne (NdT : traduction approximative de : “Rendering is the process in CG that can chew up CPU and disk space like no tomorrow.”). Même chez les pros, il est facile de surcharger un serveur d’un téraoctet (1000 gigas) en y envoyant 10 heures de DV et en faisant un peu de montage. Il y a donc beaucoup d’options “chausse-pied” pour faire rentrer un gros travail dans un petit PC, qui vous permettent de “compresser” ce travail autant que possible tout en préservant l’intégrité de l’image.

Cette page discute des options principales du panneau Render, et les suivantes vous en présentent d’autres.

Ombres

Activez le bouton Shadow pour calculer et rendre les ombres. Les ombres sont émises par les lampes aptes à les projeter, et sont reçues par les matériaux qui en sont capables. Les résultats de ces calculs sont disponibles dans la passe de rendu Shadow. Pour plus d’informations sur les lampes, matériaux et passes de rendu, suivez ces liens !

“EnvMap”

Le “placage environnemental” (“environmental mapping”) modifie l’arrière-plan et la couleur des objets, en fonction de la lumière émise par la “carte d’environnement” (“environment map”) du monde. À activer pour un rendu réaliste.

Raytracing

Le raytracing est une méthode plus précise de calcul de la couleur d’une surface, particulièrement les surfaces réflectives. Il est activé par le bouton Ray.

Résolution “Octree”

Mode: Tous les Modes

Panneau: Sous-contexte RenderRender

Raccourci clavier: F10


Description

Quand vous rendez en raytracing une scène vraiment grande avec de petits objets, le temps de rendu peut augmenter de manière exponentielle. Pour conserver ce temps de rendu dans des limites raisonnables (mais en utilisant plus de mémoire), vous pouvez augmenter l’allocation mémoire de “l’Octree”. Quand le raytracing est activé (bouton Ray, à côté du bouton RENDER, panneau Render), une liste déroulante de sélection Octree apparaît en bas du panneau, avec un choix allant de 64 à 512.

L’Octree (“arbre octal” ?) est une structure d’accélération du ray-tracing. Elle subdivise la scène entière en une grille 3D de “cellules” régulièrement disposées, et place chaque polygone de chaque objet dans la cellule qui lui correspond. Au rendu, il est plus rapide de déterminer d’abord quelle(s) cellule(s) sont affectées par un rayon, puis de tester les polygones dans celles-ci, au lieu de tester à chaque fois tous les polygones dans la scène.

Quand vous avez une grande scène peu détaillée (peu de polygones) avec un modèle très détaillé au milieu, si la résolution de l’Octree est trop faible, la plus grande partie des polygones de cette scène (ceux du modèle détaillé) se retrouvent dans un petit nombre de cellules. Donc, même s’il est relativement rapide de déterminer quelles cellules tester, quand une cellule contient beaucoup de polygones, nous ne gagnons pas grand chose au rendu, puisqu’il faut tester à chaque fois tous ces polygones.

D’un autre côté, si la résolution de l’Octree est trop grande pour une scène donnée, le ray-traceur perd son temps à tester des cellules ne contenant aucun polygone. C’est pourquoi chaque scène a sa résolution d’Octree optimale, qui doit être déterminée expérimentalement.

De manière générale, utilisez une haute résolution pour un grand espace ouvert avec de petites zones fortement détaillées, et une résolution plus basse pour les scènes où les polygones sont répartis plus uniformément. Pour plus d’informations, consultez les Release Notes sur l’Octree (en anglais).

Radiosité

Quand la lumière heurte un objet, une partie de son spectre est absorbé, et le reste (les autres “couleurs”) est reflété vers nos yeux. La radiosité permet à cette lumière réfléchie d’interagir avec d’autres objets voisins, leur apportant de la “couleur” à son tour reflétée vers nos yeux. Parfois appelée “couleur déteignant” (“color bleeding”), car la couleur d’un objet déteint, “bave” sur ses voisins, la radiosité améliore fortement le photoréalisme.

Pourcentage de la taille

Calculer une image complète prend du temps. Pour les rendus intermédiaires (de test, …), activez l’un des boutons 75%, 50% ou 25% pour rendre une image de dimensions réduites (ce qui prend moins de temps !). Quand vous regardez dans la fenêtre Render, vous pouvez toujours l’agrandir, et utiliser la molette de votre souris pour agrandir/réduire l’image.

Rendu par parties

Mode: Tous les Modes

Panneau: Sous-contexte RenderRender

Raccourci clavier: F10


Description

Il est possible de rendre une image en “pièces détachées”, en morceaux, les uns après les autres, plutôt qu’en une seule fois. Cela peut être utile pour des scènes très complexes, lorsque le rendu de petites parties les unes après les autres ne demande le calcul que d’une petite partie de la scène, et donc moins de mémoire.

Avec un CPU multi-cœur, chaque morceau peut être assigné à un thread particulier : en augmentant le nombre de threads et de morceaux, vous augmentez la vitesse de rendu en utilisant toute la puissance de calcul de votre PC.

Options

Boutons de rendu par parties.

En réglant à plus de 1 les valeurs des boutons numériques Xparts et Yparts du panneau Render (Boutons de rendu par parties), vous obligez Blender à diviser votre image en une grille de Xparts fois Yparts sous-images, qui sont alors rendues les unes après les autres et, pour finir, assemblées ensemble.

La mémoire est allouée par thread, chacun d’eux effectuant le rendu d’un morceau complet. Quasiment toute la géométrie (faces/vertices à rendre) est testée pour chaque morceau rendu, ce qui induit une certaine surcharge. Il y a également des tableaux dans chaque thread, pour l’AO, l’échantillonnage des ombres des lampes Area, …, pré-calculés et alloués à l’avance. Enfin, il y a toujours les blocages dûs aux primitives de synchronisation, lors de chaque appel système pour allouer de la mémoire (malloc) par exemple.

Note pour les non-programmeurs
Pour faire simple, une “primitive de synchronisation” est un élément qui permet aux threads d’éviter de se “marcher sur les pieds” : puisqu’ils fonctionnent en parallèle, il faut parfois éviter que plusieurs d’entre eux ne fassent la même chose en même temps – les primitives de synchronisation sont là pour ça. Le corollaire est que dans ces cas là, un ou plusieurs threads sont suspendus, ne font rien, en attendant leur tour. Enfin, chaque primitive implique une (légère) surcharge, tant en mémoire qu’en temps de calcul. Fin du cour de programmation multi-threadée !


Un bon principe à suivre est de s’assurer que le nombre total de threads rend moins d’un quart de toute l’image, afin d’éviter que trop de mémoire ne soit allouée :

8 threads : utilisez 64 morceaux (par exemple, Xparts = Yparts = 8) ;
16 threads : utilisez 128 morceaux ;
128 threads : utilisez 1024 morceaux.

La question de savoir si un tel nombre de morceaux (1024) induit une surcharge inacceptable n’est pas résolue, mais il est fort probable que ce soit le cas. Si vous utilisez un raytracing très lourd dans une scène relativement simple, cela peut malgré tout fonctionner. Encore une fois, si les morceaux sont carrés (en termes de pixels), l’option Save Buffer peut être utilisée pour soulager la mémoire.

Limites

Blender ne peut gérer plus de 64 sous-images dans la direction Y.

Rendu panoramique

Mode: Tous les Modes

Panneau: Sous-contexte RenderRender

Raccourci clavier: F10


Description

Pour obtenir de bons rendus panoramiques, jusqu’à cinq fois (!) 360° (5 tours complets de l’horizon), Blender propose une procédure automatique.

Options

Bouton Pano.

Vous pouvez, en diminuant la focale de votre caméra, élargir son champ de vision jusqu’à 173° (focale de 1mm) mais au prix de très fortes distorsions de l’image (effet “fish-eye”, “œil de poisson”) ; de plus, vous ne pourrez dépasser ces 173°.

Blender est cependant capable de rendre une image reflétant jusqu’à la vue à 1800° (cinq tours complets) de la scène, comme si la caméra tournait sur son axe Y, avec des distorsions limitées. Pour rendre une “vraie” vue panoramique, activez le bouton Pano. Dès lors, le comportement de certains réglages du rendu et de la caméra sont modifiés :

Caméra
Lens: – focale de la caméra
Un réglage de 5 (mm) correspond à un panoramique sur 360°. Le champ de vision horizontal produit est proportionnel à ce réglage : 10mm correspond à un panoramique sur 180°, 2.5mm correspond à un panoramique sur 720° (deux tours complets), 1mm correspond à un panoramique sur 1800° (cinq tours complets), etc…
Cette modification ne touche que le “champ de vision” horizontal : le champ de vision vertical obéit toujours aux règles “normales” (c-à-d qu’il est limité à 173° au maximum !). Cela signifie que si vous voulez rendre un panoramique vertical, vous devez “coucher” sur le côté la caméra.
Rendu
Xparts
Définit le nombre de “photos” alignées côte à côte : au minimum 10 si vous voulez un panoramique “correct” ; plus il est élevé, plus le résultat est bon (faibles distorsions), la valeur maximale correspondant à la largeur de l’image rendue, en pixels, divisée par huit.
Yparts
Son comportement n’est pas modifié par rapport à un rendu “normal”.
SizeX, SizeY – la largeur et la hauteur de l’image
Tant que SizeX > SizeY, le champ de vision horizontal reste celui définit par Lens: (par ex., pour 5mm, 360°) : le champ de vision vertical est proportionnel au rapport hauteur/largeur ;
Si SizeX < SizeY, le champ de vision vertical reste “bloqué” à son maximum (173° pour un Lens: de 1mm, 145° pour un Lens: de 5mm, etc.) : le champ de vision horizontal est proportionnel au rapport largeur/hauteur (par ex., pour une image deux fois plus haute que large, et un Lens: de 5, on obtient un panoramique horizontal sur 180° au lieu des 360° “normaux”).


Exemples

Tout ce qui précède est assez complexe, aussi voici quelques exemples pour essayer d’éclairer tout ça, tous basés sur la même scène :

Scène de test.


Exemples de rendus non-panoramiques

Rendu non-panoramique avec Lens: = 1mm (173° de champ de vision horizontal).
Rendu non-panoramique avec Lens: = 5mm (145° de champ de vision horizontal).
Rendu non-panoramique avec Lens: = 10mm (116° de champ de vision horizontal).


Exemples de rendus panoramiques

Rendu panoramique avec Lens: = 5mm, et Xparts = 1. Il n’y a aucune différence d’avec un rendu à la même focale, sans l’option Pano !
Rendu panoramique avec Lens: = 5mm, et Xparts = 5. Les distorsions sont encore bien visibles, et le champ horizontal n’atteint pas encore les 360°
Rendu panoramique avec Lens: = 5mm, et Xparts = 10. Quasiment parfait.
Rendu panoramique avec Lens: = 5mm, et Xparts = 90. Comparez avec le précédent : les différences sont discrètes…
Rendu panoramique avec Lens: = 5mm, et Xparts = 45, et deux fois plus haut que large : on obtient un panoramique sur 180° au lieu de 360°, avec un angle de vision vertical de 145° !
Rendu panoramique avec Lens: = 1mm, et Xparts = 90. Cinq tours complets (très utile !).
Rendu panoramique avec Lens: = 2.5mm, et Xparts = 90. Deux tours complets (très utile !).
Rendu panoramique avec Lens: = 10mm, et Xparts = 90. Panoramique sur 180°.


Note de l’auteur
Tout ce qui précède sur le rendu panoramique est tiré de mon expérience avec Blender : je n’ai jamais examiné le code de son moteur de rendu…



Rendu avec flou cinétique

Mode: Tous les Modes

Panneau: Sous-contexte RenderRender

Raccourci clavier: F10


Description

Les animations de Blender sont par défaut rendues par des images parfaitement fixes. Ce n’est pas réaliste, puisque les objets en mouvement rapide apparaissent “en mouvement”, c’est-à-dire rendus flous par leur propre mouvement, aussi bien sur les images d’un film que dans une photo réelle. Pour obtenir un effet de flou cinétique semblable, Blender peut être réglé pour rendre l’image “réelle” plus des images “intercalées” entre la précédente et la suivante, puis les rassembler en une seule image, où les objets en mouvement apparaissent plus ou moins “flous” en fonction de leur vitesse.

Options

Boutons Motion Blur.
MBLUR
Active le flou cinétique multi-échantillons. Cela force Blender à rendre autant d’images “intermédiaires” que l’indique le bouton d’OSA activé (c-à-d 5, 8, 11 ou 16), puis à les superposer en une seule image. Le bouton numérique Bf: (“Blur factor”, “facteur de flou”) définit la longueur du “temps d’exposition”, comme montré dans l’exemple plus loin. Activer le bouton OSA n’est pas nécessaire puisque que la technique de flou cinétique ajoute un anti-aliasing de facto, mais pour obtenir une image très douce vous pouvez quand même le faire. Cela fait que chaque image “intermédiaire” reçoit en plus un anti-aliasing (attention au temps de rendu !).


Exemples

Pour mieux comprendre le principe, prenons un cube, en mouvement uniforme de 1 BU (“Blender Unit”, unité Blender) vers la droite par image. C’est très rapide, surtout que le cube lui-même ne fait que 2 BU de côté. (1ere image du cube en mouvement, sans flou cinétique) montre un rendu de la première image sans flou cinétique, (2eme image du cube en mouvement, sans flou cinétique) montre un rendu de la deuxième image. L’échelle sous le cube aide à apprécier le mouvement de 1 BU.

1ere image du cube en mouvement, sans flou cinétique.
2eme image du cube en mouvement, sans flou cinétique.
1ere image du cube en mouvement, avec flou cinétique : 8 échantillons, Bf=0.5.

D’autre part, (1ere image du cube en mouvement, avec flou cinétique : 8 échantillons, Bf=0.5) montre un rendu de la première image avec le flou cinétique activé et 8 images intermédiaires calculées. Bf: est réglé à 0.5 ; cela signifie que les 8 images intermédiaires sont calculées sur un laps de temps de 1/2 image en avant, à partir de l’image 1. C’est évident grâce à l’échelle : le “flou” du cube est sur une demi BU avant et après le cube “solide”, lui-même de largeur une et demi BU.

(1ere image du cube en mouvement, avec flou cinétique : 8 échantillons, Bf=1.0) et (1ere image du cube en mouvement, avec flou cinétique : 8 échantillons, Bf=3.0) montrent les effets d’une augmentation de la valeur de Bf:. Une valeur supérieure à 1 est équivalente à un obturateur de caméra très lent.

1ere image du cube en mouvement, avec flou cinétique : 8 échantillons, Bf=1.0.
1ere image du cube en mouvement, avec flou cinétique : 8 échantillons, Bf=3.0.

De meilleurs résultats que ceux visibles ici peuvent être obtenus en calculant 11 ou 16 échantillons au lieu de 8 mais, évidemment, puisqu’il faut rendre autant d’images intermédiaires qu’il faut d’échantillons, un rendu avec flou cinétique prend autant de fois plus de temps qu’un rendu sans flou cinétique.

Astuces

Si le flou cinétique est activé, même si rien ne bouge dans la scène, Blender “secoue” légèrement la caméra entre chaque image intermédiaire. Cela implique que, même si l’OSA est désactivé, l’image produite est anti-aliasée. Un anti-aliasing obtenu par MBLUR est comparable à un anti-aliasing OSA de même niveau, mais généralement plus lent. C’est quand même intéressant, car pour des scènes très complexes où l’OSA 16 ne donne pas de résultats satisfaisants, on peut faire mieux en utilisant à la fois l’OSA et le MBLUR. De cette façon, vous avez autant d’échantillons par images que d’images intermédiaires × le niveau d’OSA, c’est-à-dire un sur-échantillonnage de niveau 25, 64, 121 ou 256, si l’on active respectivement le bouton 5, 8, 11 ou 16.

“Stamp”

Blender 2.46+

Marquer le rendu avec les date/heure et d’autres infos. Voyez les Références (en anglais) pour plus de détails.