Affichage des articles dont le libellé est compilation. Afficher tous les articles
Affichage des articles dont le libellé est compilation. Afficher tous les articles

jeudi 26 mars 2015

Moteur de rendu : Compilation de Aqsis.


Afin de comprendre et de tester un moteur de rendu Renderman, je me lance dans la compilation du code source d'un moteur de rendu : Aqsis.
Environnement : Ubuntu 14.04 64bits

prérequis :

installations :
ccmake, Boost, Qt, libtiff.lib, flex, bison, libzlib, libjpeg, libpng libilmbase, OpenEXR, nsis

$ sudo apt-get update
$ sudo apt-get install cmake
$sudo apt-get install cmake-curses-gui
$ sudo apt-get install libboost-all-dev
$ sudo apt-get install qt-sdk
$ sudo apt-get install libtiff-dev
$ sudo apt-get install flex
$ sudo apt-get install bison
$ sudo apt-get install zlibc
$ sudo apt-get install libjpeg8
$ sudo apt-get install libpng-dev
$ sudo apt-get install libilmbase6
$ sudo apt-get install openexr
$ sudo apt-get install nsis
Cela parait assez trivial mais, si un package n'existe pas assurez vous d'avoir le bon nom. Une recherche avec aptitude peut-être utile :
$sudo aptitude search libjpeg

Configuration :

créer un dossier build a coté du dossier aqsis :
$mkdir aqsis-build

lancer cmake depuis ce dossier :
$cd aqsis-build
$ccmake ../aqsis-1.8.1

ccmake est optionnel mais permet d'avoir une "interface graphique" (en mode console) afin de mieux voir les dépendances manquantes ou éditer la configuration
donc si ccmake n'est pas installé : 
$cmake ../aqsis-X.X.X 
devrais fonctionner en utilisant la configuration par défaut.

Compilation :


Aprés un 'cmake' réussi, le Makefile ayant été généré, lançons l'installation avec un simple :
$sudo make install

Test :

C'est là que commence le fun : Aqsis permet de générer une image à partir d'un fichier .rib décrivant une scene 3D. Plusieurs fichier RIB sont fournis à titre d'exemple dans le dossier :
/usr/local/share/aqsis/examples/

Nous pouvons donc tenter :

$aqsis -d /usr/local/share/aqsis/examples/scenes/vase/vase.rib

Cela fonctionne avec un résultat qui est loin d'être parfait : 
ERROR: Invalid texture file - Could not find file "shad2.shad" in path: ".:/usr/local:"

C'est pourquoi les objets affichés ont l'air de flotter sur une table irréaliste. ...il doit me manquer des fichiers de shader... (à suivre)

Image générée : 

Avec une scène plus simple et aucun de fichier de shader à charger, l'image est générée sans erreur :
(Exemple de fichier RIB donné sur  la page "your-first-steps-with-aqsis")




Références :

http://lab.aqsis.org/dev/index

http://www.aqsis.org/documentation/tutorials/your-first-steps-with-aqsis/


Pour aller plus loin :

Quelqu'un s'est amusé à rendre la même scène en ayant compilé Aqsis sur un raspberry Pi et étudie les performances : https://raspberryments.wordpress.com/2012/07/30/3d-rendering-on-raspberry-pi-using-aqsis-renderer/