top of page
Photo du rédacteurJean-Philippe

3D Pipeline Serie - Rendering

Introduction

Quand l’entièreté des étapes précédentes a été réalisée, il est temps de passer au rendu. Pour un jeu vidéo, les développeurs devront évidemment collaborer avec les artistes 3D et animateurs tout au long du processus. Ils passeront par une phase de conception avant que nous ne puissions voir le jeu dans sa version finale. Au contraire, pour la création d’animations, de films ou de courts-métrages, après quelques réglages, il ne vous restera qu’à appuyer sur un bouton pour lancer le rendu et la machine calculera vos images les unes après les autres.


Lors de cette étape, une multitude de validations a été faite et tout est parfait, car toutes les étapes précédentes ont été réalisées avec soin. Si un oubli venait à apparaître, il faudrait alors retourner en arrière pour le corriger.


Dans cette série d’articles, on prend surtout en compte le point de vue de l’artiste 3D. Evidemment, il ne faut pas oublier les développeurs, les scénaristes, les storyboardeurs… Toutes ces personnes qui contribuent de près ou de loin au projet. Car s’il existe une règle d’or, c’est celle-ci : ce type de projet fonctionne toujours mieux avec une collaboration sans faille et des équipes soudées et responsabilisées qui fonctionnent en synergie.


Le rendering

On peut distinguer deux techniques permettant d’aboutir à un visuel :

  • La première est le rendu en temps réel (moteur de jeu)

  • La seconde est le rendu des images pré-calculées (film d’animation)

Même si la première est destinée initialement aux jeux vidéo, il est courant de nos jours d’utiliser un moteur de rendu en temps réel pour rendre une animation qui aurait dû être rendue en images pré-calculées. L’objectif est bien sûr de gagner du temps.


Observons ensemble les spécificités des deux techniques.

Le rendu en temps réel

Principalement utilisé dans le jeu, ce mode de rendu est quasi instantané et repose sur la puissance graphique de la machine qui l’effectue, ceci par l’intermédiaire d’un programme comme un jeu ou une expérience. La vitesse de succession des images (rendues par des processus simplifiés et du matériel accéléré) permet une fluidité d’animation suffisante pour donner l’illusion du mouvement comme dans un dessin animé.

Plus la machine est puissante, plus elle pourra gérer des modèles complexes, des textures lourdes, de nombreux éclairages et des simulations physiques. Cela, tout en gardant un débit d’images relativement haut et supérieur à 25 images par seconde, pour rendre le résultat fluide sans saccade.


Ce type de rendu permet une flexibilité suffisante pour créer des animations contrôlées par un utilisateur en temps réel. Cette personne utilisera un scénario variable permettant de donner une expérience différente en fonction de l’utilisateur. Les environnements sont interactifs et l’utilisateur devient acteur de la scène plutôt que simple observateur.


Les algorithmes simplifiés utilisent des interactions entre objets, de la simulation de gravité et des collisions, pour sauvegarder les ressources de la machine si le scénario requiert ce type d’actions. Aussi, de nombreux subterfuges sont utilisés pour donner l’illusion d’objets complexes interagissant avec des sources lumineuses multiples, comme les cartes normales que nous avons abordées dans l’article sur le texturing.

Le rendu pré-calculé

C’est le mode de rendu utilisé par l’industrie de l’imagerie de synthèse. Ici, il n’est plus question de rendre une image en une fraction de seconde mais de simuler, par l’intermédiaire d’un moteur de rendu 3D, l’action de la lumière sur les objets, qu’ils soient animés ou non, de la manière la plus fidèle possible.

Les interactions entre objets, lumière et environnement obéissent à des lois qui tirent leurs bases de la physique et de l’optique. Qu’il s’agisse de trajectoires ou de collisions, ce type de rendu tend à s’inspirer de la réalité. Le but est d’effectuer une simulation sans se soucier des ressources de la machine, ce qui permet d’aboutir à des effets visuels et des images qui n’ont rien à envier à leurs consœurs photographiques.


Comme dit plus haut, cette méthode de rendu ne cherche pas à rendre une image en quelques centièmes de seconde. Les rendus sont plus longs car ils sont plus complexes, ce qui demande beaucoup de ressources-machines. La plupart des entreprises utilisent donc des fermes de rendu où un grand nombre de processeurs sont mis à contribution pour effectuer les calculs. Cette tâche colossale est réalisée d’autant plus vite que les ressources à disposition sont grandes. Les rendus les plus courts ne durent que 2 ou 3 minutes par images, les plus longs peuvent atteindre des heures.


Les temps de rendu sont estimés en effectuant un rendu type sur une machine de puissance connue auquel un coefficient est attribué. Il sera utilisé pour la comparer à un groupe de machines. Le temps de rendu de cette seule image permettra d’estimer au mieux le temps de rendu sur le groupe de machines choisies. Aussi, l’estimation de fin de rendu peut gagner en précision en prenant en compte le temps qu’ont pris les images déjà rendues.

Optimisation du rendu pré-calculé

Bien que les rendus en images pré-calculées soient très chronophages, il est possible de réduire les temps de rendu par l’optimisation. Il est nécessaire de bien comprendre les calculs pour aboutir à une image. En fonction de la scène, cela influencera les facteurs qui tendent à augmenter les temps de rendu.

Le rendu calcule les rebonds des rayons de lumière d’une manière limitée en fonction du type d’objet. Par exemple, un rayon ne sera plus pris en compte dans la simulation dès qu’il aura rebondi x fois, il simplifiera donc les calculs lors de sa disparition de l’équation. C’est ce que l’on appelle l’optimisation des « light paths ».

En pratique, cette optimisation permet de limiter les rebonds des trajectoires lumineuses dans la majorité des cas, dépendant que les rayons entrent en collision avec un objet mat, brillant, réfléchissant, transparent… ou que ceux-ci soient directs ou non.

Pour prendre un exemple : sur une scène où il n’y a pas d’objet transparent ou que ceux-ci sont lointains, nous pourrons limiter les rebonds transparents à une valeur extrêmement basse et ainsi éviter des calculs inutiles.

Mais ce n’est pas la seule méthode, si des objets sont loin de la caméra, leur modélisation peut être simplifiée (= moins de polygones) pour avoir plus facile à les manipuler lors du rendu. Là encore, le temps de rendu par images diminue. De même pour les textures, inutile d’utiliser des textures très détaillées pour des objets minuscules ou lointains, car la machine perdra du temps à les traiter lors du rendu. L’objectif est de diminuer le temps de rendu par image car un projet peut en comporter des milliers. Un gain de quelques secondes peut être significatif sur le délai final car ce dernier se verra avancé de plusieurs jours. Ce gain, aussi petit soit-il, sera multiplié par le nombre d’images total.

Conclusion

Le rendu est la phase finale de la production, il met en évidence la minutie du travail fourni lors des étapes précédentes. Il existe deux méthodes de rendu :

  • Le temps réel

  • Le pré-calculé


Le temps de rendu peut être réduit par l’optimisation et l’utilisation de fermes de rendu. Nous espérons que vous avez apprécié cette série d’articles sur la 3D ! Nous reviendrons bientôt avec d’autres sujets tout aussi passionnants. 😄

32 vues0 commentaire

Comments


bottom of page