(Je ne parlerais ici que des moteurs de rendu utilisé dans les productions de films)
La gènese de Renderman.
Il y a 25 ans naissait Pixar. Je vous laisse lire cet article de 3dvf, qui fait le lien avec l’historique de son célèbre moteur de rendu Photorealistic Renderman que je vais vous raconter ici.
Début des années 80.
Afin de remplacer le traitement optique des images, LucasFilms, sous la houlette de Ed Catmull, créa une suite logicielle, composée de Pixar-2D, EditDroid et Pixar-3D.
Pixar-3D était une architecture hardware de traitement d’image de synthèse.
La partie software de cette architecture s’appellait “REYES”, pour “Render Everything You Ever Saw”. Une première version fut utilisé dans la séquence “Genesis Project” de Star Trek : The Wrath of Khan et le chevalier sortant du vitrail de Young Sherlock Holmes.
John Lasseter rejoindra ensuite LucasFilms, et sous la demande de Ed Catmull, expérimentera l’animation assistée par ordinateur. Quelques mois plus tard naissait le court métrage “The Adventures of Wally and Andre B”.
En 1986, Pixar nait de cette division 3d de LucasFilm, rachetée alors par Steve Jobs.
Pixar-3D fut renommé “Reyes Machine” : Une machine de guerre composée d’un hardware hors de prix et de plusieurs extensions se chargeant de chaque partie du pipeline du Reyes software.
Peu de succès commercial, ils sortiront le RM-1 Project (RM pour Reyes Machine), une machine moins chère censée remplacer le premier “Reyes machine”.
Pour anecdote, une des idées était que la Reyes Machine devienne aussi petite qu’un walkman, avec des lunettes de projection.
Mais la vraie idée sous-jacente de ce projet était d’avoir une architecture unifiée “à la” Silicon Graphics (avec son hardware GL - Graphic Language), et Pixar commença donc les travaux sur la next-gen du GL : le RI Rendering Interface).
Par la suite, le RM du RM-1 changea pour RenderMan.
ILM fut l’acheteur principal de ces RM-1, et un groupe formé de grosses compagnies fut fondé pour supporter le “RI” comme le nouveau standard à adopter.
Steve Jobs, grand marketeux devant l’éternel, trouvait que “Rendering Interface” ne tapait pas suffisamment. Il fallait un nouveau nom. Le hardware et le software furent renommés “RenderMan”, “Renderman Interface”, “Renderman-1 Hadware” et “Renderman Toolkit”. Le hardware ne sortira jamais de beta, toujours dépassé par les nouvelles innovations en la matière.
Lasseter pendant ce temps réalisait “Luxo Jr” afin de démontrer la force de Renderman, tant techniquement qu’artistement.
Pixar lâcha la version suivante de sa suite sous le nom de “PhotoRealistic Renderman”, ou PRMan.
L’évolution de Renderman.
En 1988, Pixar publia les RiSpec 3.0, bien que le seul moteur de rendu au monde a utiliser ce standard était le leur.
Du moins jusqu’au milieu des années 90, où un étudiant de Cornell University du nom de Larry Gritz écrivit BMRT (Blue Moon Rendering Tools), un renderman gratuit.
BMRT incorporait une fonctionnalité que PRMan ne supportait pas (et ne suportera pas avant longtemps), le raytracing.
Pixar embaucha Gritz et utilisa BMRT comme moteur annexe afin de profiter de cette mini-révolution, notamment dans Bug’s Life.
Gritz fut aussi l’auteur du livre de référence Renderman :

En 2000, Larry Gritz quitta Pixar pour fonder Exluna, afin de développer Entropy, un Renderman basé sur BMRT incorporant des tonnes d’amélioration et d’optimisation (et pour ce que ce j’en avais testé à l’époque, il enterrait PrMan profondément). Exluna et Entropy furent rachetés en 2002 par Nvidia, alors que le soft n’était pas encore sorti.
Le vilain petit Pixar.
A la suite de ce rachat, Pixar lança une action en justice contre Gritz et Exluna, pour vol de technologie, copyright et autres secrets. Ces plaintes furent rejetée par Exluna, mais l’affaire acheva BRMT et Entropy qui cessèrent d’être développés.
Gritz et d’autres employés d’ExLuna restèrent chez Nvidia pour développer Gelato, un moteur de rendu utilisant principalement la carte graphique.
Gélato connu deux versions sans énorme succès. Il fut néamoins à l’origine de la création d’OpenImageIO (ou OIIO), une API de trairement d’image.
Le GPU en production.
La version 2.1 (nommée Sorbetto), cependant, fut testée chez Sony Pictures ImageWorks comme outil de relighting. Malheureusement, sa complexité et son manque interactivité sur des scènes complexes furent qu’il sera rapidement abandonné.
La version 3.0 (Mocha), encore plus centrée sur le GPU, permettant la compilation des shaders “on the fly” vers la carte graphique au moment du rendu, fut montrée au siggraph 2007. Il ne sortira jamais.
La déception.
Larry Gritz fut cependant embauché par Sony Pictures ImageWorks. Sony utilisa Entropy avant sa disparition, et était en recherche d’un nouveau moteur de rendu capable de les sortir des travers de Renderman :
Les problèmes de l’architecture REYES, entre autre, sont le manque de parallélisme, l’utilisation de calculs superflus et la redondance des appels au shaders, ainsi de la difficulté d’utiliser des géométries non rectangulaires.
Mais surtout, au fil des ans, Prman se devait de supporter GI et raytracing. Ce fut malheureusement au prix de la simplicité. La gestion des point clouds par exemple, pour la GI ou le sub-scattering, bien que puissante, est lourde en temps humain et de pre-processing à mettre en place.
L’arlésienne.
En 2000, Marcos Fajardo créa un petit buzz en sortant une série de courts métrages mettant en scène pépé, un petit personnage façon pate à modeler, des robots de Star wars,..
Le plus impressionnant étant que le rendu était géré par un moteur qu’il avait lui même codé, basé exclusivement sur le raytracing et la GI : Arnold.
D’autres courts métrages utiliseront cette première version d’Arnold, notamment Fifty Percent Grey.
Arnold 1.0 était censé être commercialisé peu après, mais ne vit jamais le jour. Des rumeurs de sortie s’ébruitaient de temps à autre, mais la seule version jamais sortie était une intégration au logiciel Project Messiah, en 2002.
La rencontre.
Marcos fonda Solid Angle, et fut embauché par Sony Pictures ImageWorks, afin d’implémenter conjointement avec Larry Gritz Arnold à leur pipeline.
Le premier projet de Sony utilisant Arnold fut Monster House (2006), utilisé en temps que raytracer conjointement à PrMan.
Arnold se libérait des faiblesses de Prman, et le test de Monster House motiva Sony à continuer le développement. Arnold fut utilisé comme raytracer sur leurs projets suivants.
En 2009 sortira “Cloudy With a Chance of Meatballs”, premier projet utilisant Arnold comme renderer principal et unique. Suivra Eagle Eye, G-Force, Alice in Wonderland, 2012, Arthur Christmas et Hotel Transylvania (en production).
Arnold permettra de sortir les images en une seule passe, plus facile à gérer. La charge pour les artistes fut également allégée, avec la disparition des pré-process, et la réduction du nombre de lampes nécessaires. (Toy Story 3 comptait plus de 200 lampes dans certains plans, chacune demandant une passe de pré-process !)
Larry, Marcos et Sony feront un certains nombres de conférences et interview ventant les mérites d’Arnold :
Et maintenant ?
D’autres moteurs renderman on vu le jour depuis Entropy, tels que Air ou 3delight, tout deux utilisés en production de films (Renaissance, District 9,…).
Le futur, tel que le voit Larry Gritz et tourné vers le raytracing : le temps humain est bien plus couteux que le temps machine, et le temps machine ne cesse de diminuer quand le temps humain n’est pas compressible.
Le temps réel, bien que prometteur sur papier, a trop de contrainte physiques et software, et l’absence d’un standard tue toute viabilité en production.
Arnold est actuellement en beta test fermé, toujours développé conjointement avec Sony, mais également utilisé par des boites comme PsyOp, The Mill, MPC, Luma Pictures (sur le prochain Thor), Blur, Mikros, Nozon (hmhm :)…
Quelques productions “Arnold” :
http://www.vimeo.com/15660200