Sélectionner une page

Les moteurs de rendu 3D

Dans la série « les billets onanistiques que personne ne lit », je profite de ce mardi caniculaire pour vous refiler en douce un de ces articles « prise de tête » sur la 3D qui font mon bonheur. Rien à voir avec la plongée, donc. Mais, que voulez vous, j’ai plus d’une passion dans la vie. Je vais donc vous entretenir de ce qu’il est convenu d’appeler « les  moteurs de rendu »…

Si comme moi vous étiez béotien, amateur éclairé de 3D, vous pensiez qu’un logiciel comme 3DMax, Cinema 4D, XSI, Maya… vus leurs prix, contenaient tout ce qu’il fallait pour créer des scènes en 3D et procéder à leur « rendu » c’est à dire le calcul de la scène finale sous la forme d’un bô dessin ou d’un film… La réponse est oui. Et non ! Car figurez vous qu’après la modélisation, le texturage, les éclairages, la mise en scène, les caméras, toutes choses que ces logiciels savent parfaitement faire, tout se joue au rendu. Oui, le rendu c’est autre chose que de cliquer sur un bouton « render ». Ce qu’on serait en droit d’attendre… Il va falloir sortir des outils spécialisés !

Tous biaisés ?

Précisons. Ce qu’on voit sur l’écran de travail d’un logiciel 3D est un rendu temps réel, dit OpenGL, calculé par la carte graphique. Pour bien comprendre, j’ai jeté une poignée de Pokeballs sur le bureau… Voici d’abord le rendu écran puis le rendu calculé, et enfin la même scène rendue avec un moteur volumétrique… Vous voyez la différence ? Pignolade de geek, effectivement, mais c’est ce qui sépare le monde pro « print » et broadcast » de la bouillie amateur…

C’est le moteur ! Vous n’êtes pas rendus…

C’est là qu’interviennent les moteurs de rendu. Il y a ceux qui sont présents dans le logiciel lui même (Mental Ray dans 3DMax, 3Delight dans DazStudio, etc) ceux avec lesquels on apprend, en principe. Mais ceux-ci sont biaisés ! Un compromis mathématique basé sur les lois de la physique afin de réduire les temps de calcul d’où des temps réduits, mais davantage de réglages à faire pour une qualité photo-réaliste plus difficile à obtenir.

Voilà donc la nouvelle génération de moteurs de rendus réalistes « non-biaisés » : les lois de la physique et de l’optique sont respectées d’où une qualité photo-réaliste maximum, mais des temps de calculs longs à trèèèèès longs (on parle de jours…).

Alors, reprenons : il vous faut un logiciel de 3D, installer un moteur de rendu « externe », et placer un pont entre celui ci et votre application 3D (plugin) pour le commander. Et c’est là que le bât blesse. Selon les logiciels, des logiques différentes, des menus partout, si possibles bien planqués, et la machine à clics et réglages recommence… Ainsi il faut toujours s’amuser d’abord à vérifier l’interopérabilité de ces 3 éléments…

Mais il faut bien, à un moment, essayer ces fameux renderers pour grimper une marche dans la qualité. Et quand on voit la tête des interfaces, on prend peur… Déjà, mettre au point ses matériaux dans un logiciel 3D pro, ce n’est pas de la tarte. Mais quand on apprend que tout est à refaire pour passer à des rendus « pro » alors… Car en effet, chaque moteur de rendu possède son interface propre, ses méthodes de calcul de la lumière et donc des matériaux utilisés dans la scène (il peut y en avoir des centaines…). Autrement dit, tout le texturage est à refaire. Et les éclairages aussi tant qu’on y est…

Pourquoi les éditeurs de logiciels ne dotent-ils pas leurs softs 3D de semblables moteurs, en standard ? Mystère et boule de gomme… Encore une histoire de licences, de droits, de marché… Beurk. Notons que la version 12 de Cinema 4D embarque un nouveau « physical render » de ce type. On a donc le choix des armes entre le rendu « classique » et le rendu « physique ».

Les plombs ont sautés, ou quoi ?

Autre piège : la lumière… Lors de vos premières tentatives de rendu « unbiased », vous allez sans doute vous dépatouiller dans le noir pendant un bon moment, en butant contre tous les objets de la scène et jurant mais un peu tard qu’on ne vous y reprendra plus : tout était si facile avec le moteur de rendu « maison »… C’est que, voyez vous, vous êtes en train d’essayer d’éclairer un stade avec une bougie. Explications. L’éclairement de votre scène est « réaliste » c’est à dire qu’il tient compte de la puissance de la lumière bien sur, mais surtout de la taille des objets. Naturellement, vous avez modélisé sans prendre garde à l’échelle de la scène. Ça marche très bien avec le moteur de rendu « classique » mais plus avec les moteurs « physiques ». Regardez par exemple le tournevis de l’illustration du haut : il mesure 100 m par 300 m ! Et vous comptiez l’illuminer avec cette pauvre petite lampe de poche, même réglée à 1000% ?

Naturellement, aucune mise en garde dans le moteur de rendu « hors de prix » : vous êtes censé le savoir. Et dans le noir complet pendant des heures, vous allez sans doute hurler comme Axel Bauer « Où est la luuumièèèère » ?!? Une fois ces détails maitrisés, vous aller enfin voir apparaître votre scène éclairée. Et pouvoir peaufiner pendant des heures les différents paramètres. Là aussi, de nombreux pièges vous attendent. En fait, un rendu « unbiased » n’a pas besoin d’autant de sources que les moteurs classiques. Il en faut même un minimum : Un soleil (on peut régler l’heure, la minute, le lieu…) et quelques éclairages d’ambiance et ponctuels suffisent amplement dans la mesure où les réflexions sont identiques à celles du monde réel où le noir total ne règne jamais. De la finesse de ces réglages dépend la durée du rendu. Quelques heures quand on sait y faire, à plusieurs jours voir mois quand on a la main un peu lourde ! Certes, le rendu sera parfait mais vos yeux ne verrons sans doute aucune différence. Et le PC, lui, aura fondu…

Chez un collègue pro de la 3D, j’ai eu l’occasion de jouer avec quelques solutions du marché. Parmi celles-ci :

Luxrender. Moteur de rendu gratuit. Il est possible de l’interfacer avec DAZ Studio (via un plugin payant) ce qui donne une touche pro à ce petit logiciel de marionnettes. Rappelons également la combinaison gratuite en solution 3D pro : Blender/Bluxrend/Luxrender.

Kerkythea. Moteur gratuit de rendu photo-réaliste qui dispose d’une bonne connexion avec Sketchup, Blender et 3D Studio Max… Le plug-in Kerkythea pour SketchUp (nommé « SU2KT ») rajoute dans SketchUp une barre d’outil permettant de réaliser directement l’export du modèle SketchUp dans Kerkythea.

Indigo/Cindigo. Gratuit, Devenu payant. Il utilise un calcul basé sur la méthode de Monte-Carlo : lors du rendu, l’image devient de moins en moins bruitée, l’arrêt du calcul étant laissé à la volonté de l’utilisateur.

Et les pros de chez pro :

Maxell render. Certains reprochent des temps de rendu effroyablement longs. Mais on est là dans le « physique des physiques ».

VRay. Un bon compromis entre temps de rendu et qualité. Il est également possible de « traduire » les matériaux de Cinema 4D dans VRay de façon automatique. Les résultats sont corrects mais pas aussi fins que ceux fabriqués directement dans VRay…

RenderMan. Le must (le moteur de rendu des films Là Haut, Wal-E et tant d’autres chefs d’œuvres de John Lasseter et des équipes Pixar dirigées par le visionnaire Steve Jobs…)

A vous d’essayer tous ces nouveaux jouets. Mais la science et l’art du rendu sont bien difficiles à maîtriser. Plus d’une fois, perdus dans les curseurs qui poussent comme des champignons, vous vous sentirez bien seuls. C’est normaaaaal !

Publié le Juil 10, 2012

Voir le site pro ?

Tous les tableaux

Tous les articles

6 Commentaires

  1. Marius 34

    Bonjour,

    Excellent !!! … surtout … « C’est le moteur ! Vous n’êtes pas rendus… » !!
    Il existe aussi également des moteurs dédiés, plus spécifiques aux secteurs comme le jeux-vidéo ou plus encore aux jeux serieux, qui sont relativement bon pour des rendus « cinéma ».

    En tout cas BRAVO !!

    Réponse
    • Francis Le Guen

      Merci Marius ! Et c’est un marseillais qui vous parle… 🙂

      Réponse
        • Francis Le Guen

          Merci beaucoup Stéphane pour ce billet ! Et pour l’ensemble du blog que j’ai lu avec intérêt et que je recommande. De la belle ouvrage… Vous me remotivez à publier de la 3D 🙂 Comme quoi on peut être Geek et plongeur !

          Réponse
  2. Marius 34

    « ….Il existe aussi également « … (Priorité n°1 : se relire tu feras)

    Réponse
  3. Solidus 3d

    A noter qu’Il existe aussi le moteur de rendu KEYSHOT. C’est le moteur que nous utilisons le plus dans le cadre de rendu de pièces ou d’assemblages industriels chez Solidus3D (Rendu et Image de synthèse)

    Réponse

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *