lundi 29 novembre 2010

Derniere version de Vénus avant redesign complet

Voila aujourd'hui annonce la fin de vénus tel que nous l'avions pensez jusqu'ici. Nous sortons donc une dernière alpha avant une grande traversé du désert correspondant a une évolution complète du moteur.
La raison principale est que nous nous sommes recentré vers une nouvelle voie.
Cette dernière version de vénus possède donc quelques améliorations importantes avant une transition définitive.

Un redesign complet :


J'ai passé pas mal de temps a re-designer vénus comme je le voyais dans l'avenir et comme nous sommes tombé d'accord, nous avons décidé de prendre la voie de cette nouvelle roadmap pour les deux ans qui arrivent.
Pour rappel Vénus est un raytracer, dans le style de pantaray ou arnold avec la capacité de passer en architecture REYES, ala renderman. Le raytracer est extrêmement optimisé mais malgré cela certains effets sont tres couteux a rendre comme le displacement, le fur, la full global illumination sur des scènes typique de production. Voila pourquoi nous nous sommes penché sur la possibilité de pouvoir utiliser aussi du REYES notamment afin d'utiliser les techniques de pointbased et de pointcloud. Nous avons ensuite exploré un peu plus les techniques de sphérical harmonics et cela nous a fait prendre conscience de la puissance de toutes ces méthodes combinées en prod. Voila pourquoi nous avons changer notre fusil d'épaule et que nous allons faire évoluer vénus en un moteur de nouvelle génération.
Notre but est au final de proposer un produit interactif capable de rendre des milliards de polygons le plus rapidement possible avec un feedback interactif lors du lighting et re-rendering.
Nous avons donc décidé que Vénus allait se transformer en un moteur capable de faire du rendu intéractif, mais de façon transparente. Pour cela nous allons resté sur un concept efficace utilisant principalement le CPU, avec toujours quelques utilisations open cl du gpu cependant, un système de caching propriétaire permettant l'édition de tous les paramètres du rendu en interactif. Il sera évidemment possible d'utiliser vénus en pure raytracer, ou en hybrid reyes. Chacun ayant évidemment ses avantages et inconvénients. Nous avons développé des systèmes très performants pour le calcul interactif de la GI/occlusion/HDRI/SSS/Reflection/Refraction/Shadow et nous avons hâte d'implémenter tout cela dans un même moteur.
Concernant le moteur lui même nous voulons qu'il puissent supporter les RIB et la Rispec de renderman le plus possible, et c'est un très long travail, voila pourquoi pour le moment nous avons décidé de ne pas implémenter les fonctions volumétriques de renderman mais plutôt nous concentrer sur la géométrie et les surfaces primitives.
Nous nous donnons donc 1 an et demi  à 2 ans pour sortir une version beta de ce nouveau Vénus, avec pour but de pouvoir rendre une scène de la complexité "d'avatar" en interactif sur une machine normale. Je prend avatar en exemple car a ce jour c'est surement ce qu'on a vue de plus complexe a rendre en production.
Nous sommes en train d'implémenter le RSL, donc le langage de shading sera identique a renderman avec quelques améliorations surtout au niveau de l'importance sampling du raytrace, et de certaines fonctions plus évoluées que nous avons deja développées dans le moteur.
Nous avons bon espoir au vue des résultats comparatifs que nous obtenons avec Vénus, comparé à Arnold, Prman, 3delight, Vray, Maxwell, Modo, Mental ray ou Iray. Nous sommes déja bien plus rapide dans tous les situations testées. Cela est simplement due à notre structure moderne, entièrement multithreadée, ultra optimisée tirant parti de toute la puissance de votre machine. Nous possédons un système de cache propriétaire, ainsi qu'un système de pointcloud avancé, et nous travaillons sur notre système de Deepshadow et sur les Ptex afin de les faire évoluer un peu plus, Nous avons aussi mis au point un système de brickcache.

Nous allons recoder l'interface pour permettre une meilleure édition des scènes en interactif. Nous allons aussi améliorer le plugin de cache venant de maya en ajoutant un support de softimage et 3dsmax direct.
Nous ne souhaitons pas faire tout dans maya, softimage ou 3dsmax simplement parce que maya est pas optimisé et consomme beaucoup de ram pour rien, voila pourquoi pour nous la solution standalone est plus efficace pour de la production en lighting/shading.

Pour le moment ce projet n'est pas a but commercial, ni même open source, il reste donc au bon vouloir de son propriétaire d'en faire ce qu'il veut, donc nous verrons si les choses évoluent positivement dans un ou deux ans. En attendant je vous tiendrais informé des avancés et j'espère vous gratifier de quelques rendus sympa, si j'ai un peu de temps.

@ plus

mercredi 17 novembre 2010

Pixar baisse ses prix !

Voila une nouvelle que l'on attendait plus, mais pixar sait toujours comment nous surprendre. Il viennent en effet d'annoncer avant hier qu'ils baissaient les prix de Renderman pro server. Les prix de la license passent de 3500$ à 2000$ et la maintenance annuelle de 700 à 600$, soit une sacré baisse. Ils font des grosses discount aussi en fonction du nombre de licenses achetées allant de 5 à 50% pour un volume de 10 à 1000 licenses.
Pixar semble vouloir rester compétitif en baissant ses tarifs jusque là très chers. Il faut songer que récemment la concurrence se fait de plus en plus présente avec des produits de qualités qui vont arriver très bientôt. Ainsi the bakery relight et guerilla render ne sont pas encore officiellement commercialisé mais c'est pour bientôt. 3delight aussi est depuis quelques temps un sérieux concurrent a Prman et il ne faut pas oublier l'arrivé prochaine d'Arnold. Avec cette baisse Pixar annonce la couleure et jette un pavé dans la marre qui risque surement de forcer la concurrence a niveler ses prix avec Prman. Pro server est désormais moins cher que 3delight, son concurrent direct et risque d'offrir lors de la sortie finale du prochain pro server des fonctionnalités et une performance bien supérieure. Ce sont surtout les petits et moyens studios qui doivent etre content de cette nouvelle car cela coûte désormais 40% moins cher qu'avant pour s'equiper en Pro server, d'où un interet certains à se tourner aussi vers Prman.

Une très grande nouvelle donc.

vendredi 12 novembre 2010

Conférence "the Bakery" & pixar, the foundry.

J'ai eu la chance d'assister à ces deux conférences très sympa organisée par acm siggraph et progiss, et je dois dire que j'ai appris pleins de trucs. Bon déja avoir une teapot pixar mossieu potate collector, ca fait toujours plaisir offerte à la conférence pixar aux participants.
En ce qui concerne la conférence en ele même j'ai trouvé ça plutôt sympa, comme d'habitude dylan sisson ( de pixar) est très pro et présente bien renderman sous quelques examples concrets en production de toy story 3. Un régal, j'ai adoré le film.;) Bon pour le reste, on va dire que renderman studio 3, je l'ai éventré depuis quelques mois pendant la beta auqu'elle j'ai eu la chance de participé donc je connais bien ses qualités et ses défauts. Dylan a été malin de pas montrer le re-rendering pour eviter les problèmes, même si faut avouer que ça marche quand même plutôt bien pour regler ses lights. Par contre l'interface avec maya est pas toujours optimal et du coup ya parfois des bugs ou de la mauvaise communication entre maya et renderman. Mais je pense que c'est plus a cause de maya, qui n'est vraiment pas facile de faire tourner correctement avec des plugins. Dylan est revenu aussi sur le Ptex, en lui vantant tous les mérites, et ya de quoi. Le buffet du midi etait plutôt sympa même si j'en ai pas trop profité, et oui quand on papote...
Le reste de la journée concernait nuke et mari de the foundry et on a eu droit à des démos, sympa, même si on fait abstraction des plantages dues aux grosses scènes de production d'avatar et de transformers 2.
Mari est très impréssionant pour un outil si jeune et l'envi d'évolution que renvoi les devs est plutot bon signe, par contre la mauvaise nouvelle etait que les Ptex étaient pas prévu pour de suite mais bientôt. Dommage de devoir attendre encore alors que mudbox les supporte deja à moitié.

Concernant la conférence the bakery, axé sur relight leur outil de rendu maison. Ce fut une bonne surprise, le rendu semble très performant et bien pensé pour la production. L'outil est intéractif et propose tous les avantages d'un renderman like, avec son architecture REYES. par contre j'aurais aimé voir plus de chose sur les possibilités de scripting, de shading, sur les rendus offline, son ouverture au pipeline, module custom, dso etc.... Cependant je leur souhaite de trouver leur public, car ce type de moteur est facile d'acces et propose les outils nécessaire a réaliser de bonnes productions. C'est un très bon produit qu'ils ont développer et on sent le sérieux et l'expérience des devs de the bakery.
Maintenant il va juste falloir qu'ils apprennent a le vendre, car la démo était confuse, répétitive et parfois ennuyante, certains témoignages etaient eux aussi peut être trop spontanée et evidemment c'est pas trop ce à quoi on s'attend quand on recherche un moteur de rendu, on veut avant tout en prendre plein les mirettes, et se dire wow, ca défonce c'est ce moteur que je veux sur ma production.

Je pense et j'espère que des qu'ils le commercialiseront ce sera un peu plus rodé et efficace au niveau de la présentation de leur outil, car leur produit est super et peut trouver son marché.

voila mon avis sur ces deux petites conférences toujours bien agréables proposées par acm siggraph et progiss dans le cas de celle de pixar.

Quelques news !

J'ai été quelques temps éloigné d'internet et donc j'en profite pour donner quelque nouveautés sur les avancés de Vénus, le moteur de rendu que je co-développe. Je le précise car le core principal du moteur n'est pas développer par moi mais quelqu'un de très doué dont je ne citerais pas le nom car il le ne souhaite pas mais il se reconnaitra.

Je précise aussi suite aux demandes que l'ont ma faite parvenir que ce moteur de rendu n'est pas un projet commercial, son auteur ne souhaite pas qu'il le devienne pour le moment donc il est uniquement développé à titre expérimental.

Vénus a pas mal évolué ces derniers mois puisque il supporte désormais les fichiers RIB de renderman. Il accepte toutes type de géometrie et tri ce qu'il ne comprend pas dans le rib en ne l'interpretant pas au rendu. Il propose désormais un primitive de curve avec option "ribbon" et "tube", allant plus loin que renderman sur les fonctions des curves.
Le code a été amélioré sur certaines parties et le GPU est moins utilisées qu'avant car les performances etaient moins bonnes que sur cpu. Néanmoins le Gpu est toujours utilisé pour beaucoup de petites choses qui accélère considérablement le rendu. L'importance sampling a encore été amélioré pour le raytrace et il faut encore moins de sample pour produire des résultats valable en production.
Vénus supporte maintenant un mode avancé pour les shadow, support des deep shadow avec ecriture arbitraire des données dans la deepshadow. Possibilité de faire des soft shadow avec les shadow map ou les deep shadow ( à la pixar avec plusieurs maps, ou avec une seule map) . Il ya aussi une nouvelle methode de shadow avec sphérical harmonics. Globalement Vénus devient de plus en plus tourné vers les sphérical harmonics. Le workflow de lighting peut désormais entièrement etre fait grâce à cette technique, performante et facile a mettre en cache. La future version proposera d'ailleurs un vrai system de caching avec calcul interactif des spherical harmonics. Cela aura pour but de ne pas recalculer toutes les infos de lighting ( GI, occlusion, Direct lighting...) à chaque changement d'éclairage.
La dernière version a aussi un meilleur support des caustics et autres techniques de photon map.
Le support de la motion blur et du depth of field n'est pas complet mais fonctionne et est très rapide.le shading rate motion permet de regler une valeure de shading rate plus élevé pour les objets flou.

Concernant l'interface Vénus proposera très bientôt une version de son shading language. La machine de compilation étant une torture a optimisé, cela prend du temps a développer mais on peut déja faire ses propres shader en .sl compiler en .slv ou meta .slip (le slip c'est un hommage a pixar slim...pour le shading authoring que je développe, j'espère qu'ils prendront pas ça mal.;)) et il supportera a terme les fichiers.slo (mais c'est pas encore définitif vue le nombre des fonctions renderman disponible en rsl.)... ou pas donc !
On propose un nouveau shader de fur forcément pour aller avec les poils. Ce shader est une approximation du dual scattering qui reste bien plus simple car ne requiere aucune prepasse ou calcul complexe, il supporte aussi la GI et occlusion via les spherical harmonics donc pas besoin de plus a mon goût. Nous supportons aussi désormais le vector displacement, normal map, les output arbitraires pour les shaders et tout plein de nouveaux opérateurs, le tout codable en python. On a aussi un meta shader qui permet de faire son propre code comme une slbox, on appel ça la blackbox. hommage a ce groupe mythic des années 90. ;) Le viewer supporte désormais l'edition des pointclouds à la volé, mais on travail encore deçu pour l'améliorer.

Concernant le futur, le moteur se tourne considérablement vers les sphérical harmonics, mais on est en train de mettre en place aussi un system de caching, ca fait longtemps que j'en avais envis seulement ya tant de choses a faire avant pour que le moteur marche déja comme on le souhaite. A terme notre but  est donc de pouvoir faire du rendu encore plus rapidement avec un feedback instantanée. Pour cela le caching des données est un vrai plus. on l'utilise déja depuis le début pour beaucoups de choses donc ce ne sera qu'une extension du procédé de base du core du moteur. le caching de toutes les données de lighting devrait donc être présent dans les prochaines versions. Par contre il faudra attendre quelques mois avant d'avoir la possibilité de faire ce qu'on appel du relighting interactif avec support de tous les fonctions de vénus. Avant cela il ya beaucoup encore a implémenter et améliorer. Nous allons encore ameliorer aussi dans la prochaine version la gestion des points clouds, actuellement vénus propose un system très intelligent pour gérer les pointcloud d'une scène. Vous pouvez en effet controler comment interagissent les pointclouds au rendu, leur contribution dans la scène et au rendu, avec un algorythm très optimisé qui permet de limiter la taille des pointcloud sur des énormes scènes tout en gardant la qualité optimal au rendu. La prochaine version proposera surement le LOD par pointcloud voir les brickmap qui sont en Work in progress actuellement.

Voila en ce qui concerne les dernieres infos concernant vénus 040a, la build actuelle. encore du boulot donc en perspective pour les mois qui viennent mais on avance et on s'éclate, sachant que ce projet est pour le fun. On a rien ni lui ni moi a y gagner a part de s'amuser a "nerder", même si il fait ça 1000 fois mieux que moi. ;).