2011-09-02

Dessine-moi des objets en verre avec Blender et Luxrender

Luxrender permet d'utiliser des matériaux transparents réalistes et d'obtenir de jolis effets de lumière.









Luxrender est un moteur de lancer de rayons réaliste, basé sur les propriétés physiques réelles des matériaux et sur la façon dont les rayons lumineux interagissent avec eux (réflexion, réfraction, etc.). En gros, contrairement au moteur de lancer de rayons interne à Blender, avec lequel on triche souvent un peu pour donner l'illusion d'une scène réaliste (en ajoutant des sources de lumière, par exemple), avec Luxrender on ne triche pas.

Le gros avantage est que le rendu est réaliste. Un gros inconvénient est que le rendu est extrêmement lent (ou plutôt que le rendu avec le moteur de lancer de rayons interne de Blender est extrêmement rapide, ce qui revient au même). Un autre inconvénient est que le rendu avec Luxrender peut donner un aspect granuleux ou pixélisé sur les zones qui se trouvent dans la pénombre. La solution est de le laisser tourner encore plus longtemps. Pour donner un ordre d'idée pifométrique, sur quelques scènes, s'il faut environ 1 heure pour faire un rendu avec le moteur interne de Blender, il faudra environ 24 heures pour faire un rendu de la même scène avec Luxrender, à la louche.

Luxrender est distribué sous license GNU GPL, tout comme Blender.

Luxrender est en développement. Une version stable est disponible ici. Il s'agit de la version 0.8 (aujourd'hui).

On peut interfacer Luxrender avec Blender, ou le contraire, en suivant par exemple le guide qui se trouve ici.

Voici ce que ça donne pour installer tout ça, avec les versions actuelles de Blender, Luxrender, LuxBlend, et Pylux, sur ma machine de démo (Debian GNU/Linux 6.0.2, 32 bits).


0. Installer Blender :

On commence par installer la version de Blender distribuée par Debian, pour régler d'éventuelles dépendances de paquets :


sudo aptitude install blender

Pour une partie de ce qui suit, il faut être root.


sudo -i

On opte pour la version stable actuelle : Blender 2.59, téléchargée sur le site officiel, en version précompilée.


cd /tmp/
wget http://download.blender.org/release/Blender2.59/blender-2.59-linux-glibc27-i686.tar.bz2
cd /usr/local/bin/
tar jxvf /tmp/blender-2.59-linux-glibc27-i686.tar.bz2
chown --recursive root:root blender-2.59-linux-glibc27-i686
chmod --recursive go+rx blender-2.59-linux-glibc27-i686


1. Installer Luxrender :

On opte pour une version de développement (weekly testing build), soyons fous. Toujours en version précompilée (ne soyons pas trop fous quand même).


cd /tmp/
wget http://www.vladmiller.info/lux/lux-gcc452-i686-sse2-110719-lux-v09dev-110718-ceffe9cfbc2d-opencl.tar.bz2
cd /usr/local/bin/
tar jxvf /tmp/lux-gcc452-i686-sse2-110719-lux-v09dev-110718-ceffe9cfbc2d-opencl.tar.bz2
chown --recursive root:root gcc452-i686-sse2-110719-lux-v09dev-110718-ceffe9cfbc2d-opencl
chmod --recursive go+rx gcc452-i686-sse2-110719-lux-v09dev-110718-ceffe9cfbc2d-opencl


2. Installer LuxBlend (LuxBlend25) :

LuxBlend est un addon pour Blender qui permet d'activer Luxrender lors du rendu, à la place du moteur de rendu par défaut de Blender. Les liens vers les versions de Luxrender et LuxBlend se trouvent sur la page "Weekly Testing Builds" du forum de Luxrender : http://www.luxrender.net/forum/viewforum.php?f=30 . Comme il s'agit de versions de développement, ... Si ça plante ... Bin ... Faut pas s'étonner outre mesure (et choisir une autre version plus stable).


cd /tmp/
wget http://src.luxrender.net/luxblend25/archive/25a6b616dbfe.tar.bz2
tar jxvf /tmp/25a6b616dbfe.tar.bz2
chown --recursive root:root luxblend25-25a6b616dbfe
chmod --recursive go+rx luxblend25-25a6b616dbfe
cp --recursive /tmp/luxblend25-25a6b616dbfe/src/luxrender/ /usr/local/bin/blender-2.59-linux-glibc27-i686/2.59/scripts/addons/


3. Installer Pylux :

Pylux permet de mieux intégrer Luxrender dans l'interface Blender. Il est livré avec Luxrender en tant que "pylux.so".


cp /usr/local/bin/gcc452-i686-sse2-110719-lux-v09dev-110718-ceffe9cfbc2d-opencl/pylux.so /usr/local/bin/blender-2.59-linux-glibc27-i686/2.59/scripts/addons/luxrender/.


4. Activer LuxBlend (LuxBlend25) dans Blender :

On n'a plus besoin des droits root à présent, et il est sans doute préférable de lancer tout ça en tant qu'utilisateur standard non privilégié (appellons le "torglut").


exit

On lance Blender avec :


/usr/local/bin/blender-2.59-linux-glibc27-i686/blender

Dans l'interface de Blender, on active Luxrender en allant dans le menu "File::User Preferences", puis en choisissant "Add-Ons", puis "Render", puis en cochant la petite case pour activer l'addon nommé "LuxRender". Cela peut prendre quelques secondes.

Toujours dans l'interface Blender, dans le bouton qui se trouve tout en haut, il faut ensuite changer la valeur "Blender Render" par "LuxRender".


5. Indiquer le chemin vers Luxrender dans LuxBlend (c'est à dire dans Blender) :

Toujours dans l'interface de Blender, dans le menu de droite ("Properties"), dans l'onglet "Render", il faut renseigner le paramètre "Path to LuxRender Installation" avec la valeur "/usr/local/bin/gcc452-i686-sse2-110719-lux-v09dev-110718-ceffe9cfbc2d-opencl/".

Il faut aussi renseigner les paramètres suivants, dans Blender :

  • "Sampler (traditional CPU)" pour "Renderer". Les autres valeurs font envie (GPU), mais je ne parviens pas à les faire fonctionner sur ma machine.
  • "External" pour "Rendering Mode".
  • "LuxRender GUI" pour "External type".
  • Cocher "Embed File Data".
  • Cocher "Run Renderer".


Et voilà, il ne reste plus qu'à modéliser une jolie scène, généralement avec des objets en verre un peu partout (car ça rend bien avec luxrender), à appuyer sur "F12" pour lancer le rendu, et aller vaquer à d'autres occupations. Plusieurs heures plus tard, il faudra encore attendre quelques heures. Luxrender ne s'arrête pas tout seul, il s'arrête de lancer des rayons lorqu'on l'arrête avec le bouton stop, le rendu est alors considéré comme fini, et il est visible dans Blender.

Aucun commentaire:

Enregistrer un commentaire