Remerciements à NaN (Blender authors) Pour ce superbe logiciel gratuit.
Le script de Kurppa "lightgen2blender.py" v1.1 2003 est disponible sur son site : http://members.lycos.co.uk/kurppa/blender/index.html
Retour à la première page du site


Index Trucs et Astuces "MiniLab"

INTRODUCTION

Actuellement, il existe plusieurs façon de réaliser des éclairages hyper réaliste en 3D.
Pour ma part, je me suis intéréssé à l'IBL ou Image Based Lightning qu'on peut traduire par Eclairage basé sur Image.
Cette technique utilise des images High Dynamic Range dites (HDRI en anglais).
(L'H.D.R.I contrairement à ce qu'on peut croire n'est pas une technique, comme son nom l'indique c'est un type d'image) pour l'équivalent français je n'ai pas trouvé de terme sur le net et j'ai librement traduit par "Image à Gamme Hautement dynamique".

Ces quelques pages traitent principalement de l'adaptation de cette technique d'éclairage dites IBL pour Blender 2.33.
Malheureusement Blender ne gère pas encore les images HDR et par conséquent ne permet pas de faire des IBL en interne, il est donc nécessaire d'employer des plugins, sorte de mini-applications codées en python que l'on charge dans la fenêtre "Text Editor"(éditeur de Texte)de Blender.

BLENDER 2.33 ET IBL

I) Réaliser un éclairage IBL dans Blender 2.33:
a) Les Outils qu'il vous faut avant de commencer
Les Liens ci-dessous ne sont pas actifs car ils sont en cours d'élaboration .
HDRSHOP MINI TUT, LightGen Plugin (HDRShop) MINI TUT, KURPPA'S Script MINI TUT
b) Procédure à suivre (pas à pas).
b) Les étapes pour générer l'IBL.

II) HDRShop et les images HDR
- Créer une image hdr au format Latitude/Longitude
- Créer une image hdr au format Sphérique (simulant une image Light probe) à utiliser dans World
- Traduction en français de la Doc Originale consacrée à HDRShop de Chris Tchou et Paul Debevec
http://www.debevec.org/HDRShop
- Traduction en français de la page LightGen Plugin pour HDRShop de Jonathan Cohen,
son site: http://gl.ict.usc.edu/HDRShop/lightgen/lightgen.html ses projets: Rhythm and Hues Studios .
- Explications sur le script de Kurppa qui importe les fichiers *.txt générés par le "HDRShop lightgen plugin"
voir l'adresse en titre.
- QUELQUES NOTIONS DE BASE
(non exhaustives) à connaître avant de commencer.

Logiciels utilisés :
- HDR Shop Version 1.0.3 de Chris Tchou et Paul Debevec ( http://www.debevec.org/HDRShop ).
- LightGen plugin de Jonathan Cohen ( http://gl.ict.usc.edu/HDRShop/lightgen/lightgen.html) ou ( http://www.debevec.org/Probes )
- Lightgen2blender v1.1 Le script pour Blender Image Based Lightning de Kurppa son site, (ICI)

- Python 2.2 ou 2.3
- Blender 2.33

Procédure :
- Vous devez avoir une image au format "*.hdr" light probe.
- vous pouvez en trouver sur le net déjà toutes prêtes à être utilisées
( http://www.debevec.org/Probes )
- vous pouvez en fabriquer avec HDRShop à partir d'image en différents formats Tiff, tga, jpg et quelques autres (voir les formats lu par HDRShop).

Kurppa l'auteur de Lightgen2blender n'as effectué des tests qu'avec Python 2.3 installé
J'ai testé avec Python 2.2 et cela fonctionne.
Fabriquez un fichier "*.txt" de votre image "*.hdr"en utilisant lightgen dans HDRShop.


LES OUTILS POUR COMMENCER
HDRSHOP
LIGHTGEN PLUGIN
KURPPA'S SCRIPT
Petit logiciel pour manipuler des images au format High Dynamic Range (appellées h.d.r. ou h.d.r.i.).

HDR Shop Version 1.0.3 de Chris Tchou et Paul Debevec
http://www.debevec.org/HDRShop
( Attention, ce n'est pas un soft indépendant, c'est un plugin, autrement dit un petit éxecutable qu'il faut inclure dans HDRShop pour le voir fonctionner) Il génère une liste de sources de lumière directionnelles qui simulent l'utilisation directe d'une image lightprobe.

Lightgen Plugin par Paul Debevec, Tim Hawkins, et Jonathan Cohen
Copyright (c) 2001, University of Southern California.

Jonathan Cohen  http//ict.usc.edu/..jcohen
mettre à jour l'adresse.

Remerciements à Tim Hawkins et Jon Cohen pour les idées et pour l'implémentation.
C'est un petit script, quelques lignes de code écrit en langage Python que vous recopiez dans l'éditeur de texte de Blender et que vous lancez par la combo: "ALT+P".

Lightgen2blender v1.1
Le script pour Blender : Image Based Lightning de Kurppa
Son Site


QUELLES SONT LES UTILISATIONS DES OUTILS PRESENTES CI-DESSUS

Avec
HDRSHOP
Vous pouvez
Avec
LIGHTGEN PLUGIN
Vous pouvez
Avec
KURPPA'S SCRIPT
Vous pouvez





traiter des images au formats suivants:
à partir d'images hdr, exclusivement au format :
Traîter des fichiers "*.txt":
formats classiques
tiff bmp jpg tga
hdr long/lat
De type Texte
formats plus rares
pic pfm raw float flx ppm







Générer des images au formats suivants:
Vous générez des fichiers de description de sources lumineuses.
Vous utilisez les fichiers de description de source lumineuses pour générer des sources de lumière.
(hdr)High Dynamic Range
hdr pic tif pfm float raw fim
Text (simple fichier texte listant les sources lumineuses)
Arnold(description de scene à inclure dans un fichier ARF)
Houdini( à inclure dans un script de description de scène Houdini)
MEL(
Radiance
none
(ldr)Low Dynamic Range
bmp jpg tif tga ppm





LES ETAPES POUR GENERER L'IBL
ETAPE 1
Créer un fichier *.txt

Dans HDRShop
chargez une image *.hdr au format Latitude/Longitude
Allez dans : Menu > Plugins > lightgen_plugin

La fenêtre du plugin contient 7 paramètres réglables:
- Cliquer sur le bouton "Browse", choisissez le répertoire et le nom de votre fichier *.txt qui contiendra les définitions des sources de lumière.
- Le format de sortie par defaut est "Text"
- Nombre de source lumineuses à générer : entrer une valeur
- Laisser le nombre d'itération par défaut
- Nombres de recherches laissez la valeur par défaut
- "Scale Total light output" activez si vous voulez restreindre la luminosité
Globale de la scène.
- "Desired total light intensity"=Intensité Lumineuse Globale désirée
n'est actif que si le paramètre précédent est activé.

ETAPE 2
Utiliser le fichier *.txt

Dans Blender
Ouvrez votre éditeur de texte.
Chargez le script de Kurppa "lightgen2blender.py".
Repérez la ligne de texte suivante: "filename = Draw.Create("D:/*.txt)" . Entrez le Chemin du répertoire ou se trouve votre fichier *.txt et son Nom.
Tapez ALT+P pour lancer le script.
Normalement le 'Chemin + Nom' que vous venez de taper dans le code du script doit être affiché dans la boite de texte derrière "FileName".
Choisir le type de source lumineuse dans lequel seront importé les sources de lumières.
Cela se fait avec le bouton juste en dessous de "2.Adjust" écrit en rouge.
Réglez les autres paramètres à votre convenance.
Cliquez "Create IBL".
Amenez votre curseur souris dans la fenetre 3D et cliquez une fois bouton gauche (c'est juste pour accélérer l'affichage des lumières).
Vous avez maintenant dans votre fenêtre 3D les lumières qui forment une sphère + ou - dense selon le nombre de sources que vous avez créées.
Mettez un plan une sphere et hop renderisez.
Si l'image obtenue est trop sombre :
Tapez Une Valeur >1 dans le bouton Bright (cela augmente l'IG)
Si l'image obtenue est trop claire :
Tapez Une Valeur <1 dans le bouton Bright (cela diminue l'IG)
- Dans la fenêtre 3D, sélectionnez toutes les lampes avec la touche A.
Puis cliquez le bouton "Apply" du script
L'intensité Globale de la scène est modifiée en fonction de la valeur que vous venez d'entrer dans BRIGHT (j'ignore la manière dont s'effectue cette ajustement).


IBL, CAUSTIQUES ET YAFRAY

Pour les caustiques :
Pour l'instant, je n'ai pu les obtenir qu'avec les types de sources lumineuses "Pointlight" et "Arealight" de YafRay (Ce qui ne veut pas dire que l'on ne puisse pas les obtenir avec les autres types de sources lumineuses, mais simplement que moi je n'y suis pas arrivé).


Dans le script de Kurppa et dans Blender, le type de source lumineuse qui correspondent sont :
"Lamp" pour "pointlight" et "Area" pour "Arealight".
(Pour choisir le type adéquat voir tableau de correspondance ci-dessous).

Donc, importez vos sources en type "Lamp" et cliquez CREATE IBL.
Le Nombre de Sources Lumineuse importées du fichier *.txt de Lightgen dépends du paramètre "Limit",
s'il est réglé sur 0.000 le script importe la totalité des sources,
Pour le valeurs >0.000, plus vous augmentez la valeur du bouton "Limit" plus le Nombre de sources lumineuses importées diminue.
Voilà c'est fait, les lumières sont affichées dans la fenêtre 3D.

Dans Blender, les photons sont calculés avec : Count:100000, Radius:100, MixCount:58.

TABLEAU DE CORRESPONDANCE DES SOURCES LUMINEUSES ENTRE APPLICATIONS :

1
2
3
4
5
Type de source :Kurppa et Blender
Hemi
Sun
Spot
Lamp
Area
devient dans Yafray

Sunlight
Spotlight
Pointlight
Arealight
Les caustiques


Pas Visible
Visible
Visible


YAFRAY ET IBL
(Image Based Lightning)

fichier hdr Latitude/Longitude utilisé pour générer le fichier *.txt
house
Fichier hdr Sphérique utilisé dans World
MirrorBall
Intensité Globale d'Origine (IGO)
Lamp
Intensité  lumineuse du hdr d'origine non modifié
Intensité Globale atténuée à 1
ParamètresLightGen :
Number of searches = 5
Scale total light output>activé
Desired total light intensity 1
.

Lamp
Intensité du hdr d'origine retravaillé pour être égale à 1.
Intensité Globale d'Origine +Bright 0.1 Apply
Lamp
Spot
Sun
Hemi
IGO + Bright 0.1
Spot IGO + Bright 0.1
Sun IGO + Bright 0.1 Hemi IGO + B0.1
Intensité Globale d'Origine
+ Bright 0.1 Apply
+ Bright 0.1 Apply

Lamp
Spot
Sun
Hemi


Sun IGO + B0.1 X2
Si vous voulez les ombres Dans Blender Menu "Lamp" >>Partie Shadow and Spot activez RayShadow
Hemi IGO + B0.1 X2
Pas d'ombres disponibles
Intensité Globale d'Origine
+ Bright 0.1 Apply
+ Bright 0.1 Apply

Blender Ray Shadow.
Lamp
Spot
Sun
Hemi


Sun IGO + B0.1 X2 + RayShadow