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

2 commentaires:

  1. Bonjour,

    je ne sais pas si vous avez vu passer sur la toile l'OSL. Un language qui permet de définir ce qu'il appelle "closure". En faite, il est très orienté "cache" de calcul de noise ou autre, pour laisser au moteur le calcul dans un second temps des radiences et autres rebonds. Le projet est défini pour être intégrable dans n'importe qu'elle moteur, de la famille Reyes ou RayTrace

    Au cas ou ..........

    Kermit

    RépondreSupprimer
  2. Quand es ce que l'on aura des rendu en example, etant beta testeur de guerilla render je suis curieux de voir venus.

    Mathieu FROSSARD

    RépondreSupprimer