<br><br><div><span class="gmail_quote">Le 19/01/08, <b class="gmail_sendername">olivS</b> <<a href="mailto:olivier.saraja@free.fr">olivier.saraja@free.fr</a>> a écrit :</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Salut,<br><br>Le vendredi 18 janvier 2008, Thierry Boudet a écrit:<br>> Donc, je peux supposer que tu es à même de fournir un jour ou<br>> l'autre une tableau comparatif de ces différents renders, avec<br>
> un exemple d'image pour chacun...<br><br>Presque! Je ne suis utilisateur que de Yafray et de Sunflow. Je n'ai jamais<br>compilé/installé Yaf(a)ray, me contentant de suivre son développement (il<br>s'agit d'une ré-écriture complète de Yafray) quant à Luxrender, me suis
<br>simplement intéressé à ses fonctionnalités.<br><br>Pour résumer, on va dire ceci de chacun (attention, vulgarisation lourde!):<br>- Blender est un moteur hybride scanline/raytracing, sans capacité<br>d'illumination globale, à l'exception de la Radiosité (qui n'est pas si
<br>évidente à mettre en oeuvre pour le débutant)<br>- Yafray est un pur raytracer, capable de gérer nativement l'illumination<br>global, soit par carte de photons, soit par la méthode du cache d'irradiance<br>- Sunflow est également un pur raytracer, écrit en java, capable des mêmes
<br>choses que Yafray, mais plus faible au niveau des photons (bug qui reste à<br>corriger) et au niveau du support des textures/shaders. Ses rendus sont<br>toutefois de vraies merveilles<br>- Luxrender fait parti de la catégorie "au-dessus": illumination globale par
<br>méthodes non biaisées: cela veut dire que les rendus ne s'interrompent que<br>lorsque l'utilisateur le décide. Chaque pixel calculé est exact, sans<br>apporcimation, sans interpolation par rapport à ses voisins. Mais le temps de
<br>calcul de chaque pixel est.... infini! En fait, l'image s'épure et<br>s'éclaircit (se débarrasse du "bruit") dans le temps, et lorsque l'image est<br>suffisamment "propre", l'utilisateur interrompt le rendu.
<br><br>Blender et Yafray sont des outils artistiques (surtout Blender): les méthodes<br>d'illumination et de shader sont réalistes mais tellement versatiles qu'il<br>est facile de briser les schémas photo-réalistiques (pour ceux que ça
<br>intéresse). Sunflow se veut seulement photoréaliste, avec des méthodes<br>d'illumination et des shaders "physiques". Luxrender rentre dans la catégorie<br>des appareils photos: non seulement les méthodes d'illumination et des
<br>shaders sont physiques, mais en plus ils sont non biaisés ce qui le place<br>dans la catégorie d'Indigo (gratuit, mais pas libre) et de Maxwell<br>(propriétaire, très cher).<br><br>Comme je sens venir la question, je vais y répondre de suite, à la hauteur de
<br>ma compréhension: "qu'est-ce que biaisé veut dire???"<br><br>Normalement, lorsque tu lances un rayon vers un pixel pour connaître sa<br>couleur, à partir de celui-ci sont lancé une certaine autre quantité de
<br>rayons pour "échantillonner" son environnement, et prendre des infos sur<br>l'illumination que devrait avoir ce pixel, et donc sa couleur. Deux pixels<br>voisins peuvent avoir des couleurs très différentes (alors qu'ils devraient
<br>être de la même à un pouillème près s'ils sont dans une même région<br>lumineuse) tout simplement parceque l'échantillonnage, réalisé avec un faible<br>nombre de rayons, peut renvoyer des résultats divergents: l'un va annoncer
<br>être éclairé, l'autre va annoncé être dans le noir. Résultat: du bruit, du<br>grain, des petits points sur le rendu. Pour passer outre, faut augmenter le<br>nombre d'échantillons (méthode brute et sauvage qui conduit au
<br>photo-réalisme).<br><br>Une méthode pour contourner consiste à dire: ok, je trace une grille où je<br>reporte, à intervalles réguliers, les intensités lumineuses (je schématise,<br>la couleur d'illumination entre également en jeu, ainsi que le shader du
<br>matériau, etc.) définies avec un nombre d'échantillon satisfaisant, mais sur<br>beaucoup moins de point que par la méthode brute et classique. Ensuite, pour<br>tous les pixels intermédiaires de la grille, j'interpole l'intensité
<br>lumineuse. On obtient ainsi l'illusion du photo-réalisme, mais les<br>illuminations ne sont pas "exactes" dans le sens où les valeurs des<br>intensités lumineuses sur la grille sont moyennées/pondérées par les autres
<br>pixels de la grille, et que les points intermédiaires sont interpolés (et<br>s'il 'y avait une micro-source de lumière entre deux noeuds de la grille? et<br>bien elle ne serait pas vue, tout simplement...)<br>
<br>C'est ce que l'on appelle une méthode biaisée: des erreurs sont volontairement<br>introduites dans les équations, pour permettre une convergence "rapide" et<br>faire en sorte que le rendu s'arrête seul à un niveau de qualité
<br>satisfaisant. La contre-partie est que l'illumination n'est pas physiquement<br>exacte.<br><br>Avec les méthodes NON biaisées, pour chaque point de l'image (et non plus de<br>la grille) on va faire une infinité de passages. Au premier passage, on
<br>calcule l'intensité lumineuse correspondant au premier rebond interdiffus<br>(bref on recherche les éclairages directs classiques du raytracing, en gros)<br>et on balance un grand nombre de rayons (en fait une infinité car on se
<br>s'arrête jamais d'échantillonner l'environnement) et à chaque fois qu'une<br>info intéressante est déterminée, elle est reportée sur la couleur du pixel.<br>Bref, l'image est toute moche dans les premières secondes de rendu, mais
<br>s'affine progressivement dans le temps jusqu'à mieux définir les couleurs,<br>les lumières, les caustiques, puis le grain s'atténue et finalement plus rien<br>n'est visible à l'oeil nu. C'est à ce moment là que l'utilisateur
<br>super-intelligente, au bout d'une centaine d'heures de calcul (oui, on se<br>croirait de retour aux années 80 avec les débuts de Pov-ray, rires!)<br>interrompt le rendu car il a une super image photoréaliste. Mais les
<br>éclairages sont "parfaitement" conformes à la réalité. C'est le vrai<br>photo-réalisme. Mais il se paye très très cher en temps de calcul.<br><br>Bien évidemment, il y a différents algorithmes pour les biaisés comme les non
<br>biaisés. Par exemple, le Path Tracing des biaisés est en vérité non biaisé,<br>sur le principe, mais limité par voie logicielle à un nombre d'échantillons<br>donné, car plus facile à coder, contrôler, paramétrer... Suis pas
<br>programmeur, mais je suppose qu'il est plus facile de brider un algorithme<br>dans une boucle, plutôt que de lui dire de poursuivre son traitement à<br>l'infini tout en l'enrichissant au fur et à mesure que les données arrivent
<br>pour changer l'algo (apparition d'une tâche caustique, par exemple)<br><br>Wouah, c'était long! Merci de m'avoir lu juqu'au bout, ça fait vraiment chaud<br>au coeur! :-D</blockquote><div><br>Passionnant,
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Amicalement,<br>--<br>Olivier<br><br>_______________________________________________
<br>Toulouse-ll mailing list<br><a href="mailto:Toulouse-ll@toulibre.org">Toulouse-ll@toulibre.org</a><br><a href="http://toulibre.org/cgi-bin/mailman/listinfo/toulouse-ll">http://toulibre.org/cgi-bin/mailman/listinfo/toulouse-ll
</a><br></blockquote></div><br><br clear="all"><br>-- <br><j:-P)