Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
blender_compilation [Le 12/04/2016, 16:44] ebrain [Récupérer les sources de Blender] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>compilation}} | ||
- | ----- | ||
- | |||
- | ====== Compiler Blender depuis les sources ====== | ||
- | |||
- | **[[:Blender]]** est une suite de modélisation, d'animation et de rendu 3D. Si vous voulez simplement installer Blender, allez donc voir [[:blender|cette page]] ; celle-ci étant dédiée uniquement à la compilation de la version de développement de Blender... | ||
- | |||
- | ===== Prérequis ===== | ||
- | |||
- | Pour récupérer et compiler les sources de Blender, nous utiliserons [[:git]] et [[:make]]. | ||
- | |||
- | * Disposer d'une connexion à Internet configurée et activée. | ||
- | * Avoir [[:tutoriel:comment_installer_un_paquet|installé les paquets]]: **[[apt://git|git]] et [[apt://build-essential|build-essential]]** fournissant des outils de base. | ||
- | |||
- | ===== Récupérer les sources de Blender ===== | ||
- | |||
- | Pour récupérer l'arbre complet des sources de Blender **POUR LA PREMIÈRE FOIS,** utilisez [[:git]] avec les commandes suivantes dans un [[:terminal]]. Les sources récupérées seront dans le dossier courant dans un répertoire **blender-git/blender** . | ||
- | |||
- | <code>mkdir ~/blender-git | ||
- | cd ~/blender-git | ||
- | git clone http://git.blender.org/blender.git | ||
- | cd blender | ||
- | git submodule update --init --recursive | ||
- | git submodule foreach git checkout master | ||
- | git submodule foreach git pull --rebase origin master</code> | ||
- | |||
- | ==== Mettre à jour les sources ==== | ||
- | |||
- | Pour **METTRE À JOUR LES SOURCES** déjà téléchargées, entrez ces commandes dans un [[:terminal]]. | ||
- | <code> | ||
- | cd MON_DOSSIER/blender-git/blender | ||
- | git pull --rebase | ||
- | git submodule foreach git pull --rebase origin master</code> | ||
- | ==== Mettre les sources à jour ==== | ||
- | |||
- | Comme les sources de Blender évoluent très vite, vous voudrez sans-doute mettre à jour les sources à la dernière révision de temps en temps. | ||
- | Pour cela, lancez simplement, une fois [[:tutoriel:console_commandes_de_base#cd|rendu dans le répertoire]] « blender », la commande suivante : | ||
- | |||
- | svn update | ||
- | |||
- | Il vous suffira alors de relancer la [[#Compilation|compilation]] pour utiliser les nouvelles sources. | ||
- | |||
- | |||
- | ===== Compilation ===== | ||
- | |||
- | Une fois les [[#Prérequis|dépendances]] installées, [[:tutoriel:console_commandes_de_base#cd|rendez-vous dans le dossier]] « blender » puis lancez simplement la compilation avec [[:scons]] : | ||
- | |||
- | scons | ||
- | |||
- | <note>Pour les heureux possesseurs de processeurs multicœurs, vous pouvez spécifier l'option //-j N// pour une compilation utilisant //N// cœurs. Par exemple, sur un Core2Duo, la compilation sera plus rapide avec : | ||
- | <code>scons -j 2</code></note> | ||
- | |||
- | <note>La compilation avec la commande **scons** résulte en une erreur si vous tentez de compiler le SVN avec Ubuntu 8.04. Il faut utiliser plutôt la commande **python scons/scons.py**</note> | ||
- | |||
- | Une fois la compilation terminée, votre Blender tout chaud se trouve dans le dossier « ../build/linux2/bin/ ». | ||
- | |||
- | |||
- | ====Note sur les fichiers de bibliothèques manquantes==== | ||
- | La compilation lancée, il est possible qu'elle s'arrête malheureusement sur une erreur... Pas de panique ! La chose à faire, c'est de bien observer le message d'erreur, qui indique quelle bibliothèque est manquante, et d'ensuite installer le paquet Ubuntu qui lui correspond. Par exemple, si l'erreur est à propos d'un certain "glut.h", le paquet à installer sera libglut-dev. A chaque fois que vous installez la bibliothèque, prenez bien sa version //-dev//. Une fois la bibliothèque installée, relancez scons, puis au prochain message d'erreur installez la nouvelle librairie manquante. | ||
- | |||
- | A un moment la compilation va se terminer avec succès. Allez dans le répertoire build, vous y trouverez le binaire de votre compilation ! | ||
- | |||
- | |||
- | |||
- | ==== Personnaliser les options de compilation ==== | ||
- | |||
- | Un fichier qui contient les options de compilation par défaut de Blender se trouve dans « build_files/scons/config/linux2-config.py ». Parce qu'il peut être mis à jour à tout moment au travers du SVN, **il est très déconseillé de le modifier directement**. Ne vous inquiétez pas tout est prévu : il vous suffit de créer un fichier « user-config.py » vide à la base du dossier Blender. Vous le remplirez à votre guise afin de définir une option qui diffère de celle par défaut. Au besoin, n'hésitez pas à consulter l'aide [[:tutoriel:comment_editer_un_fichier|comment modifier un fichier]]. | ||
- | |||
- | === Activer le moteur de jeu === | ||
- | |||
- | Le fichier d'origine « build_files/scons/config/linux2-config.py » contient la variable <code>WITH_BF_GAMEENGINE=False</code>Ajoutez donc dans votre fichier personnalisé « user-config.py » la variable comme suit : <code>WITH_BF_GAMEENGINE=True</code>Relancez la compilation via scons, et normalement, le moteur de jeu est alors activé. | ||
- | |||
- | === Activer Verse === | ||
- | |||
- | Si vous souhaitez utiliser Blender à plusieurs, Verse se fait vite indispensable. Pour l'activer, ajoutez au fichier « user-config.py » ceci : <code>WITH_BF_VERSE = True</code> plutôt que <code>WITH_BF_VERSE = False</code> | ||
- | Il faudra de même relancer une compilation via scons. | ||
- | |||
- | === Activer YafRay (dans le cas d'une compilation personnelle de ce dernier) === | ||
- | |||
- | On remarque que Blender ne peut pas utiliser [[wpfr>YafRay]] s'il a été compilé. Afin de remédier à cela, cherchez la ligne (toujours dans votre fichier de configuration) : <code>WITH_BF_YAFRAY = True</code> (On remarque que YafRay est activé par défaut, et qu'il est donc intéressant de le télécharger directement depuis les dépôts). Rajoutez ensuite la ligne suivante : <code>BF_YAFRAY = '[Chemin vers YafRay]'</code> | ||
- | |||
- | === Optimiser la compilation pour son type de processeur === | ||
- | |||
- | Par défaut la compilation qui s'effectue est capable de tourner aussi bien sur un vieux processeur Pentium® de première génération que sur votre tout dernier petit bijou de technologie qui équipe votre machine actuelle. En d'autres termes, cela signifie qu'il y a un réel manque à gagner en utilisant les spécificités de votre processeur moderne. | ||
- | |||
- | On appelle cela les **flags GCC**, et vous pourrez facilement trouver ceux qui correspondent le mieux à votre processeur via n'importe quel bon moteur de recherche ou avec la commande ''cat /proc/cpuinfo'', à la ligne //flags//. Comme toutes les options précédentes, il s'ajoutent dans votre fichier de configuration personnel. Ils diffèrent complètement d'un processeur à l'autre, et chercher à optimiser sans savoir où l'on va peut évidemment se traduire en perte de performances et autres plantages, donc **prudence et n'hésitez pas à valider vos flags avec des tests**. | ||
- | |||
- | Prenez le temps de lire [[http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options|cette page de documentation de gcc]] pour trouver quelles options correspondent à votre architecture de microprocesseur (option //-march//). | ||
- | |||
- | Voici ceux que j'utilise sur un Core2Duo, et qui me permettent d'obtenir un gain minimum de 25% de performances au rendu en 32 bits :<code>### flags d'optimisation ## | ||
- | CCFLAGS.extend( [ '-march=core2', '-O2' ] ) | ||
- | CXXFLAGS.extend( [ '-march=core2', '-O2' ] ) | ||
- | REL_CFLAGS = ['-O2'] | ||
- | REL_CCFLAGS = ['-O2']</code> | ||
- | |||
- | ==== Patcher Blender ==== | ||
- | |||
- | Il est possible d'appliquer des patchs à Blender afin de profiter de diverses fonctionnalités supplémentaires. | ||
- | |||
- | Pour ce faire, récupérez les patchs que vous désirez sur [[https://projects.blender.org/tracker/?atid=127&group_id=9&func=browse|BlenderProject]] ou sur un autre site et placez les fichiers à la racine de votre répertoire des sources téléchargées précédemment. | ||
- | |||
- | Ouvrez un [[terminal]] et rendez-vous dans le répertoire des sources puis tapez : | ||
- | |||
- | <code>patch -p0 < nom_de_votre_fichier_patch</code> | ||
- | |||
- | Pour restaurer les sources d'avant l'application d'un patch il suffit de rajouter l'option -R: | ||
- | |||
- | <code>patch -p0 -R < nom_de_votre_fichier_patch</code> | ||
- | |||
- | Il vous suffit de faire cette manipulation pour chaque patch (ou d'automatiser la procédure par un script) et de relancer la compilation pour profiter des nouvelles fonctionnalités. | ||
- | |||
- | |||
- | |||
- | ===== Liens ===== | ||
- | |||
- | * [[http://www.blender.org/|Site officiel de Blender]] | ||
- | * [[http://blenderclan.tuxfamily.org/html/modules/newbb/viewtopic.php?topic_id=12465|Source originale de cette page]] | ||
- | * [[http://wiki.blender.org/index.php/Dev:2.5/Doc/Building_Blender/Linux/Ubuntu/Scons|wiki d'installation de blender 2.5]] (probablement valable pour les versions ultérieures). | ||
- | |||
- | ---- | ||
- | //Contributeurs : [[:utilisateurs:ebrain]] (rédaction), [[:utilisateurs:Ban]], [[:utilisateurs:olivS]], [[:utilisateurs:M@dinko12]]// |