16mar/126

[archlinux] installer blender 2.62 et activer le rendu GPU pour cycles

Cette fois-ci je vais vous montrer comment installer blender (bon ok ça c'est simple), mais surtout comment utiliser le nouveau moteur de rendu apparu avec la version 2.61 : Cycles.
Ce moteur de rendu est assez impressionant, il est tojours en développement actif (notamment pour subvenir aux besoins du prochain open movie de la fondation blender : Mango ) mais si il est bien inclus dans la version stable de Blender c'est bien qu'il est assez stable pour être utilisé! Je n'ai d'ailleurs pas eu de problèmes en faisant mes test ;).

Donc commençons par installer Blender :

yaourt -S blender

Ce que j'aime beaucoup avec Archlinux, c'est que les dépôts sont mis à jour rapidement, on se retrouve donc bien avec la dernière version de blender :).

splash screen blender 2.62

splash screen blender 2.62

On ne va pas se mentir, l'accélération GPU n'est disponible pour le moment que pour les cartes Nvidia car c'est basé sur CUDA. Mais l'espoir est là pour les possesseurs de carte AMD, les progrès pour l'utilisation d'OpenCL avancent pour pouvoir utiliser n'importe quelque carte.
Mais comme je suis un heureux possesseur d'une carte Nvida, et que je recommande cette marque, nous allons pouvoir utiliser CUDA, pour cela nous devons juste installer le toolkit :

yaourt -S cuda-toolkit

Voila c'est tout ce qu'il faut pour utiliser le GPU, mais si c'était aussi simple je n'aurais pas fait un article. Parce que si vous ouvrez votre blender maintenant et que vous tentez de chercher l'option pour passer du CPU au GPU vous ne la trouverez pas!

Pour cela il faut dire à blender d'utiliser CUDA, nous allons donc ouvrir la page de préférence : "ctrl + alt + u". Vous cliquez sur l'onglet System, en bas à gauche vous devriez voir "Compute Device:" avec plusieurs choix. Il faut juste cliquer sur CUDA et nous aurons ainsi le choix entre CPU et GPU avec Cycles.
blender user preferences

Tant que nous avons cette fenêtre ouverte nous allons en profiter pour aller dans l'onglet "Interface" et cliquer sur "Rotate Around Selection", comme son nom l'indique lorsque l'on tournera dans l'espace, cela se fera maintenant autour de l'objet. Cette manière de faire me parait logique, si pour vous cela ne l'est pas vous n'êtes bien entendu pas obligé de cliquer dessus ^^.
rotate around selection

Vous pouvez sauvegarder votre configuration, mais attention en faisant cela vous sauvegardez toutes les modifications que vous avez faites dans blender ! Je vous conseil donc de le faire seulement avec un nouveau fichier blender, afin de garder notre cube ainsi que notre lampe de base comme ils sont.

Maintenant nous allons simple dire à blender d'utiliser cycles plutôt que le moteur de base (qui est très bon aussi 😉 ).
Il faut pour se faire cliquer dans la barre du haut sur Blender Render, cela nous donne un menu déroulant et choisir Cycles Render.
Cycles Render

Ensuite dans le menu principal (à droite) il faut se rendre sur l'onglet Render (l'icone de l'appareil photo) et dans device nous pouvons choisir GPU Compute afin d'utiliser la carte graphique pour les calculs de rendu.
render gpu

Bien sur après avoir fait ces changement vous pouvez à nouveau enregistrer ces préférences : "ctrl + alt + u" et save changes.

Une chose que j’apprécie avec ce moteur de rendu c'est de pouvoir l'utiliser pour prévisualiser le rendu final mais cela en temps réel. Vous pouvez en effet dans une fenêtre de vue 3D avoir une prévisualisation continue de vos modifications, pour cela il suffit de mettre Rendered dans le viewport shading.
rendered shading
J'ai fait un petit test afin de voir la différence de temps de rendu entre GPU et CPU. Bien entendu c'est un test basique, j'ai juste changé le sample de rendu à 254, c'est un peu inutile vu qu'à partir d'environ 35 samples le rendu était déjà proche du résultat final. Mais je voulais tester sur quelque chose de plus long pour avoir un comparatif plus fiable. Il faudrait se pencher un peu plus sur les réglages pour avoir quelque chose de correct, mais bon ça reste un test de rapidité alors on s'en fou un peu ^^.
Voici le résultat avec le rendu GPU (vraiment très peu de différence entre rendu CPU et GPU, quelques pixels) :


Cliquez sur l'image pour avoir la taille réelle du rendu ;).

Dans cette image nous pouvons voir Suzanne, la tête de singe de Blender, qui est un peu l'équivalent emblématique de la teapot de 3dsmax. Suzanne s'est vue attribuée un matériaux mixe entre diffuse et emission, afin d'essayé un objet lumineux. Il y a aussi trois boules avec différents matériaux : glossy, diffuse et glass (de gauche à droite). Comme lumière, à part Suzanne, il y a un "sun".

Le temps de rendu avec le CPU est de : 12 minutes et 14 secondes.
Le temps de rendu avec le GPU est de : 3 minutes, 7 secondes et 49 centièmes.
Le temps de rendu est donc près de 4 fois plus rapide avec le GPU !