Documentation - IBL


Cette page présente la technique dite Image based Lightning (IBL), qui consiste à utiliser une image panoramique pour éclairer une scène 3D.

  1. Idée
  2. Historique
  3. Principe
  4. Avantages de l'IBL
  5. Inconvénients de l'IBL
  6. HDR (ou HDRI)
    1. Exemples de format d'images HDRI

    2. Prise de vue et création d'une image HDR
  7. Le rendu : Illumination Globale
  8. Applications
  9. IBL : Mise en pratique
    1. Bryce

    2. Blender
    3. Maya

1 Idée

Parvenir à des méthodes d'éclairage de scènes 3D plus naturelles en partant du réel pour le reproduire.

retour au plan (haut de page)

2 Historique

Par le passé, la manière « classique » pour éclairer une scène était la méthode des trois sources de lumière. Néanmoins, si cette technique issue de la photographie permet de mettre en valeur les modèles 3D, elle ne permet pas un photoréalisme poussé.
La technologie liée au HDRI (High Dynamic Range Imaging), que nous verrons plus loin, a été adaptée à la synthèse d'image en 85 par Gregr Ward, qui développa le logiciel Radiance (qui permet le rendu et la simulation d'éclairage).
En 1997, lors du SIGGRAPH, Paul Debevec présente sous le titre « Recovering high dynamic range radiance maps from photographs » : une méthode permettant de récupérer des cartes d'éclairage à partir de photos. L'année suivante, il va plus loin avec une méthode pour faire un rendu d'objets dans des scènes réelles. Depuis, la technique n'a cessé de se développer.

retour au plan (haut de page)

3 Principe

  1. Capturer l'illumination d'une scène réelle sous forme d'une image HDR omnidirectionnelle.
  2. Mapper cette illumination sur une représentation virtuelle de l'environnement réel.
  3. Placer l'objet dans cet environnement
  4. Simuler la lumière provenant de l'environnement qui illumine l'objet virtuel.

retour au plan (haut de page)

4 Avantages de l'IBL

  • Réalisme accru de façon frappante ;
  • Possibilité de mêler facilement images réelles et virtuelles : acteur « scanné » puis placé dans un environnement réel dont il est absent, ajout d'objets dans des scènes réelles, etc. ;
  • Le HDR permet de prendre en compte les sources lumineuses de façon plus réaliste pour les flous de bougé ou de mise au point.

retour au plan (haut de page)

5 Inconvénients de l'IBL

En théorie, l'IBl nécessite une prise de vue réelle. En pratique on utilise parfois des environnements virtuels (ex : scène issue de Terragen, un logiciel de 3D axé sur la création de paysages).

La prise de vue réelle implique un temps plus long de préparation par rapport à un éclairage 100% virtuel.

retour au plan (haut de page)

6 HDR (ou HDRI)

Les formats courants d'images, tels que le jpeg, chaque composante R,V,B d'une image est codée sur 256 valeurs, soit 24 bits par pixels. Ainsi, le pixel le plus brillant sera 255 fois plus billant que le plus foncé. Ceci ne correspond pas à la réalité : lumière d'une bougie/du soleil, par exemple. Les images réelles auront besoin d'une gamme dynamique plus large, avec un écart entre les zones sombres et claires qui sera de l'ordre du millier, voire du million.
Les images HDRI (High Dynamic Range Imaging, par opposition aux images classiques dites Low Dynamic Range) utilisent davantage de bits par pixel, afin de stocker une plus grand dynamique. En pratitque, il pourra s'agir de 32 voire 96 bits/pixel.

Pour l'IBL, on utilise des images HDRI couvrant l'ensemble de l'espace (panoramique 360°*180°) ; Les techniques utilisées pour les obtenir sont développées dans le paragraphe suivant.

retour au plan (haut de page)

6.1 Exemples de format d'images HDRI

  • Pixar 33-bit log-encoded TIFF ;
  • Radiance 32-bit RGBE and XYZE ;
  • IEEE 96-bit TIFF & Portable FloatMap ;
  • 16-bit/sample TIFF (I.e., RGB48) ;
  • LogLuv TIFF (24-bit and 32-bit) ;
  • ILM 48-bit OpenEXR format.

retour au plan (haut de page)

6.2 Prise de vue et création d'une image HDR

Il existe deux techniques principales pour obtenir les images HDR qui sont utilisées pour l'IBL :

  • A l'aide d'une sphère réfléchissante : c'est la technique employée par Debevec. Il utilise une sphère destinée à l'origine à la mécanique (bille de roulement chromée).
    On prend plusieurs photos de la sphère, en différentes positions et avec différentes expositions. Un logiciel comme HDRshop peut ensuite assember ces images de façon à créer une image angulaire HDR.
    Avantages : rapide, simple, peu cher.
    Inconvénients : l'image finale est moins précise que pour la seconde méthode (moins nette). Néanmoins, l'utilisation d'une image en haute résolution augmente fortement le temps de calcul, cette solution est donc la plus souvent choisie.
    L'image suivante montre une série d'images que j'ai réalisées pour créer une de ces images (elle a par la suite été utilisée pour la scène rendue sous Bryce) :

    Création d'un light probe HDRI: méthode de la sphère réfléchissanteCréation d'un light probe HDRI: méthode de la sphère réfléchissante

  • On crée plusieurs photos panoramiques prises du même point de vue (panoramique par assemblage, avec des logiciels comme Stitcher, Hugin, Autopano pro...) à différentes expositions, puis on créer le fichier HDR en rassemblant ces images.
    Les avantages et inconvénients sont inverses par rapport à la première méthode.

retour au plan (haut de page)

7 Le rendu : Illumination Globale

Une fois L'image HDR acquise, il s'agit de générer les sources lumineuses correspondantes. Une technique commune est de générer une sorte de constellation de sources lumineuses.

Le principe est le suivant : à partir des intensités enregistrées dans l'image HDR, on génère les sources avec un niveau de détail plus ou moins élevé selon le niveau de réalisme voulu et l'application (le temps de calcul augmentant lors du rendu si on a plus de sources). Les caractéristiques de la source (intensité, couleur) sont tirées de l'image de départ.

L'algorithme utilisé est de type median-cut :

  • On part de l'image affichée en coordonnées « latitude/longitude » (image rectangulaire et non angulaire) ;

  • On divise ce rectangle en 2 le long du plus long côté du rectangle, de façon à avoir deux zones d'intensités lumineuses totales égales ;
  • On applique le même principe aux deux zones obtenues, de façon récursive. On ne subdivise pas une zone si elle est trop sombre ;
  • L'arrêt à lieu lorsqu'on atteint un nombre n prédéfini de subdivisions ;
  • On place une source lumineuse (on en obtient donc au plus 2^n) au niveau du centre du « centroïde » de chaque région obtenue ; la couleur de la source et son intensité sont déterminées en faisant la somme des pixels et toute la région.
    (le « centroïde correspond au fait que l'on place la source lumineuse au niveau du « barycentre » de la surface, chaque point étant pondéré par son intensité lumineuse).

      Une fois les sources lumineuses obtenues, elles sont intégrées à la scène 3D, un peu comme si une « sphère de sources lumineuses » englobait la scène : autour des objets de la scène 3D, les sources lumineuses crées par la méthode précédente sont réparties sur une sphère.

      Le rendu par illumination globale reprend ensuite les méthodes classiques (raytracing, radiosité, etc).

      retour au plan (haut de page)

      8 Applications

      Les applications de cette techniques sont très nombreuses, que ce soit pour le cinéma, la publicité, etc. Cette technique a par exemple été utilisée pour le personnage de Mystique, dans le film X-Men 2.
      Par ailleurs, la technique peut aussi être utilisée dans les jeux vidéos, avec certaines modifications pour demander moins de puissance.

      retour au plan (haut de page)

      9 IBL : Mise en pratique

      9.1 Bryce

      Présentation

      Le logiciel Bryce, édité par DAZ, permet (dans sa dernière version, 6.0) l'utilisation de l'IBL de façon relativement simple : import d'une image, réglages via des curseurs de l'exposition (autrement dit de l'intensité globale qui sera générée via l'IBL) ou de la qualité (une qualité plus grande augmentera le nombre de sources lumineuses et le réalisme, mais prendre plus de temps pour le rendu), utilisation éventuelle de l'image comme fond (afin de prendre en compte ou non cette image pour le calcul des réflexions).

      Fonctionnalités

      La gestion de l'IBL sous bryce se fait via des contrôles limités, mais simples à utiliser et relativement intuitifs :

      • Quality règle la qualité (en fait, le nombre de « rayons HDRI » ; le manuel ne donne pas de précisions sur ce que sont ces rayons, qui pourraient en fait correspondre au nombre de sources lumineuses générées à partir de l’image HDR) ; en la diminuant, le temps de rendu diminue, ce qui peut être utile pour les cas critiques (beaucoup de réflexions/réfractions).

      • Intensity règle l’exposition, à la manière d’un appareil photo.
      • HDRI effect règle l’intensité avec laquelle l’image HDRI influe sur le matériau dont les objets de la scène sont faits. Cela contrôle aussi la répartition en intensité des rayons HDRI (si « HDRI effect » est augmenté, les rayons les plus lumineux le sont encore plus).

      Il est possible d’utiliser ou non l’image HDRI comme image de fond, et d’utiliser en plus de l’IBL un soleil et des sources lumineuses artificielles.

      Test sous Bryce: rendu avec éclairage HDRI ; l'image obtenue a ensuite été incrustée dans une photo.Test sous Bryce: rendu avec éclairage HDRI ; l'image obtenue a ensuite été incrustée dans une photo.

      En pratique, on peut facilement obtenir un très bon résultat. Néanmoins, le temps de rendu est souvent très élevé, et atteint plusieurs heures pour des cas complexes. Il est souvent nécessaire de modifier des paramètres, par exemple en diminuant la qualité ou la profondeur de rendu (nombre d’itérations dans l’algorithme de raytracing).

      Autre inconvénient de l’IBL avec Bryce, le Sky Lab n’accepte que des images HDR sphériques (typiquement, les images angular map, qui « compriment » 360*180 degrés en un disque), et pas les skydomes, cross (cube déplié), ou les panoramiques de forme rectangulaire. On peut bien entendu convertir ces images via un logiciel comme HDRshop, mais une prise en charge directe aurait permis de gagner du temps.

      retour au plan (haut de page)

      9.2 Blender

      Autre logiciel supportant (indirectement) le HDRI : Blender, qui est gratuit et libre.

      Méthode

      Blender ne prend pas directement en charge l’IBL, mais il existe plusieurs manières de contourner le problème, comme par exemple :

      • utilisation du plugin lightgen dans HDRshop, qui génère une liste de sources lumineuses à partir d’une image HDR. La liste est ensuite importée dans Blender via un script python. Le tutoriel dans lequel nous avons trouvé cette technique n’indiquait pas comment faire le rendu de l’image HDR comme fond pour l’image, mais ceci est probablement faisable, car Blender gère les images HDR (mais pas l’IBl !).

      • Rendu via le moteur de rendu Yafray, qui gère l’IBL. Nous avons testé cette dernière méthode.

      Test avec Blender: la même scène éclairée par plusieurs fichiers HDRTest avec Blender: la même scène éclairée par plusieurs fichiers HDR

      Bilan & comparaison avec Bryce

      Les tests sous Blender se sont avérés concluants ; les rendus ont été relativement rapides. Il serait toutefois hâtif d’effectuer une comparaison avec Bryce, la machine utilisée à l'époque des tests – un ordinateur portable - étant probablement le facteur limitant, plus que l’optimisation de tel ou tel logiciel.
      Blender prend en charge plus de formats d’images HDR, mais le rendu interne ne prend pas encore en compte l’IBL. La nécessité d’installer un moteur de rendu externe, ainsi que la complexité de l’interface, rendent l’utilisation de l’IBL beaucoup moins intuitive que sous Bryce.

      retour au plan (haut de page)

      9.3 Maya

      Le logiciel Maya, édité par Autodesk, accepte l'éclairage IBL. Malheureusement, la version gratuite (Maya PLE, version éducation) ne permet pas le rendu incluant l'IBL.
      retour au plan (haut de page)