Tout sur l’Irradiance Map avec Vray

By 28/03/2010 Tutoriaux 12 Comments
irradiance_map

Cette semaine, petit topo sur l’irradiance Mapping. Un tuto beaucoup plus théorique que pratique, voici de quoi comprendre comment fonctionne cette méthode de calcul de la Global Illumination. Technique sûrement la plus courante pour calculer vos primary bounces avec Vray, on va s’intéresser à la manière de s’en servir le plus efficacement possible, en gros minimiser les temps de calcul et améliorer la qualité de vos rendus.

Tout d’abord:  LES PRESETS VRAY SONT FAITS POUR UNE RÉSOLUTION DE 640 x 480px !!!!!!!!!!
Il suffisait delire la doc pour le savoir… mais je suis certain qu’on ne le rappellera jamais assez…

Définition de l’irradiance Map

L’habituelle définition Wikipedia : L’irradiance est un système qui permet de quantifier la puissance d’un rayonnementélectromagnétique par unité de surface. Elle s’exprime en Watt/M².

Au niveau de sa methode de calcul, l’irradiancemap est un nuage de points en 3d qui relate l’intensité de l’illumination indirecte. Etant donné que Vray est un moteur biaisé (pas tout le temps, c’est a dire approximatif dans sa méthode de calcul) il va interpoler les points calculés afin de définir une approximation de l’illumination Indirecte de la scène. En plus de cela, contrairement au Photon Mapping, l’irradiancemap est « view-dépendant », c’est-a-dire que son calcul dépend entièrement de la position de la camera. En gros Vray calcul uniquement ce que la camera verra.

Comme son nom l’indique, l’irradiance est unemap, cela signifie que l’on peut sauvegarder le ou les fichiers calculés afin de pré-calculer la Global Illumination. Ceci permet d’éviter le flickering et de minimiser les temps de calculs. C’est indispensable pour les rendus d’animations.

Paramètres de base

Comme je le disais précédemment, les presets sont fait pour une résolution de 640×480, ceci étant dit ça n’empêche pas de s’en servir pour des résolutions supérieures. Le tout est de comprendre comment utiliser unpreset « Low amélioré » afin de gagner en qualité mais pas en temps de rendu. J’ai bien conscience que cette manière de faire n’est pas très traditionnelle pour les puristes, mais franchement ça fait gagner du temps. Sachant cela je ne vais vous présenter que les paramètres indispensables au bon calcul de l’irradianceMapping.

. Min / Max rate : Tout est une affaire de résolution ! On ne calcule pas une image de 1000px comme une de 4000px. Les paramètres Min/Max permettent de gerer la résolution de votre premiere pass de Global Illumination. Par exemple pour une image à calculer de 1500px, si je mets -1 en Min rate, ma premiere pass sera calculée pour une resolution de 750px. Le Max rate est le paramètre de la pass la plus précise, en lui indiquant 0 il calculera une pass à une resolution de 1500px. Ces deux paramètres sont liés, ils vous permettent de définir le nombre de prepass que Vray va calculer. Par exemple-3/-1 donnera des prepass allant de -3 à -2 à -1. En guise d’astuce, lorsque vous pre-calculez des pass pour de l’animation, vous pouvez utiliser des maps de faibles qualité mais au double de la résolution du rendu final. Vous economiserez du temps de calcul sans pour autant perdre en qualité.

. Hemispherical Subdivision (Hsph Subdivs) : Ce paramètre est la clé. Il indique la qualité de chaque sample d’irradiance. Ainsi une valeur faible sera rapide à calculer mais produira un resultat médiocre et inversement une valeur haute sera plus longue a calculer et produira des samples de qualité. Pour vous donner un ordre d’idée, 20 pour travailler 150 pour le rendu final.

. Interpolation Samples : Comme je vous le disais precedemment l’irradiancemap est un nuage de points relatant une intensité de lumière indirecte. Afin de calculer plus rapidement, Vray « étale » ces points. En les interpollant il rend le calcul de la Global Illumination approximatif. Ainsi selon la qualité utilisé eplus haut il va falloir les étaler plus ou moins afin de ne pas créer d’artefacts. Pour vous donner une idée, je laisse cette valeur à 20 jusqu’a 60 en Hsph Subdivs, puis augmente l’interpollation en fonction de ma valeur deHsph Subdivs.

Les Options

. Show Calc Phase : Pour voir le calcul en cours, simple question d’habitude.

. Show Direct Light : Permet d’apercevoir la lumiere directe. Ce n’est qu’un apercu.

. Show Samples : Permet de visualiser les samples sur l’image définitive.

. Use camera path : On verra ca dans un prochain tuto sur le rendu d’animation mais en gros ça lui indique de tenir compte de la position de la camera dans le temps et pas seulement sur la frame qu’il calcule, radical pour eviter le flickering!

Detail Enhancement

Le detail Enhancement est une methode permettant de préciser le calcul des zones denses, les details quoi! Franchement indispensable pour une meilleur qualité de rendu. Ce qu’il faut savoir c’est que l’irradiancemap est souvent utilisée avec des paramètres assez faibles afin d’obtenir des temps de calculs réduits. Ansi, comme on l’a vu plus haut, on va interpoller ces point pour eliminer les artefacts etc… le defaut de cette methode est donc de »blurrer » les zones denses au même titre que les zones vides. Le but du detail Enhancement est de combler cette faille. En plus de cela sachez que le detail enhancement se calcule grâce à la methode brute force.

. On : active le detail enhancement
. Scale : détermine les unités utilisées du radius
. Radius : Ça marche comme celui de l’ambient Occlusion, relisez le tuto de la semaine dernière si vous voulez plus d’infos
. Subdivs : Comme dans un rendu en Brute Force, les subdivs font apparaitre du grain. Donc quand vous baissez la valeur ça en produit mais se calcule plus vite et inversement, quand vous grimpez les subdivs, les temps de rendu et la qualité grimpent aussi.

Comme pour les presets, cela dépend de la taille de votre scène (n’oubliez pas de modeliser à l’echelle 1) et aussi de la résolution de votre image.

Irradiance Map et Vray Lights

Vous avez surement tous remarqué le paramètre « Store with Irradiance Map » disponible dans les VrayLights. En fait il sert à calculer les ombres produites par les lampes directement dans l’irradianceMap. Niveau temps de rendu, cela ressemble au paramètre « Use for Glossy rays » du Light Cache, c’est radical! En revanche la qualité de vos ombres dépendra maintenant du calcul de l’irradianceMap. C’est à dire qu’une map de faible qualité produira des ombres de faible qualité et ça, sur une image fixe ça pardonne pas. En revanche pour bosser, cela vous permet d’aller plus vite. Et surtout pour le rendu d’animation vous pouvez diviser vos temps de rendus facilement. Il est beaucoup plus rapide de pré-calculer une irradiance map de très bonne qualité plutôt que des ombres avec un sampling a 24…

En esperant vous avoir appris quelque chose !

 

12 Comments

  • thierry dit :

    Merci, cela à l’air limpide, je verrais ça des que je rentre du boulot :)

    Bravo pour ton travail !

  • ben dit :

    merci matt,
    Pour le Detail Enhancement, Cela n’a pas tendance à rallonger considérablement le temps de rendu ?( malgré le fait qu’il améliore le détail de l’image.)

  • matt dit :

    On a rien sans rien… Effectivement ça plombe un peu mais quand tu lances pour la nuit…

  • Noss dit :

    Décidément! Quelle productivité!
    Encore merci! Ca risque de m’être très utile!

  • tomchang dit :

    Merci à toi pour ce tuto. J’engage tout le monde à utiliser le Irradiance map viewer (Menu démarrer / Chaos Group / vray / Tools), déja parce que c’est très marrant de voir les solution d’irrandiance en temps réel, mais aussi parce que l’on comprend bien comment ça marche.

    ET comme tu parles de la résolution de base de VRAY, de l’irradiance map, et sans faire de pub (c’est promis j’ai pas de com), un français du nom de Jérôme Prevost, a créé un plug qui échantillonne les réglages en fonction des échelles de rendu et du niveau de détail souhaité (draft/prod/ultra, etc…) c’est méga pratique et ça vaut le coup de dépenser quelques euros : http://solidrocks.subburb.com/

    Merci encore

  • Bonjour Matt. Je découvre ce site avec grand intérêt…Vite ! Hop ! Dans mes favoris !
    Ce tuto est véritablement excellent, clair et complet. Rien n’a été oublié ! Etant moi-même formateur Vray, je dois admettre que tout le monde devrait prendre connaissance de ce tuto !
    Je suppose qu’une version approfondie (méthodes de calcul de l’irrmap et params Clr Thr, Dist THr et CLR thr) viendra compléter cette page ultérieurement.
    En tous cas, Chapeau !

    Tom, Merci pour ces mots sympas à propos de mon plugin !

    Encore Bravo pour ce tuto que tout le monde devrait lire…

  • lige dit :

    hello,

    Un grand grand merci pour ces tutos très utile.

  • matt dit :

    @Tom: Je te remercie pour le lien mais un truc de fou ! Ce plug déboite !!! Je l’avais déjà vu mais jamais pris le temps de le tester. C’est une révélation!

    @Jerome: Merci pour ton boulot et ravie de te voir sur le site :D

  • labo3d dit :

    bonjour, et bravo pour ce site ou il y a toujours quelque chose à apprendre et très bien expliqué

    Ce plugin et très bien fichu, il rajoute un mode auto à la camera vray!! chapeau pour son créateur, il y a aussi le script « flythrough animation Wizard », trés pratique pour calculer en une seule fois l irradiance, le light cache, et le rendu: pratique pour lancer l’animation le soir!!

    Dans les scripts utiles il y a « HCG Asset Browser » http://www.youtube.com/user/BonaJrBR#p/a/u/0/EnUAD8FH_14

    Matt, quel est ta préférence entre mental Ray et Vray?

    merci

  • matt dit :

    @labo3d: Difficile de répondre, Mental Ray le moteur de référence, Vray le challenger… Evidemment vu le contenu de mon blog j’imagine que tu vois pour lequel mon coeur balance ;) Mais Mental Ray restera toujours la base, et surement un des moteurs les plus utilisé et surtout un moteur incontournable !

  • zaz dit :

    Bonjour Matt,

    Quand tu dis : « Par exemple pour une image à calculer de 1500px, si je mets -1 en Min rate, ma premiere pass sera calculée pour une resolution de 750px »
    Quels sont les réglages que tu préconiserais pour une image fixe à 4000px ???

    Merci

  • matt dit :

    Malheureusement il n’y a pas de paramètre idéal! Cela dépend de la scène, le type d’éclairage, le niveau de détail souhaité, la taille de l’image… Chaque scène est unique ce qui du coup rend les paramètres unique. Evidemment on a tous nos habitudes sur un certain sampling pour un type de scène…
    Si tu veut minimiser tes temps de rendus pour des images en 4000 ou plus, je te conseille vivement le plug’in SolidRocks cité plus haut. Il s’occupera de gérer tout ça pour toi !

Leave a Reply

Your email address will not be published.