Oct 152011
 

Ho seguito le istruzioni per la compilazione di Blender con Cycles e CUDA che riporto passo passo per Slackware
Innanzi tutto si installi il package da slackbuilds.org openAL che è l’unica dipendenza che manca alla Slackware current, riporto l’elenco completo:

  • subversion 1.6.16
  • python 2.6.6 -> local 3.2.2
  • gettext 0.18.1.1
  • mesa 7.10.2
  • libXi 1.4.2
  • libtiff 3.9.4
  • libjpeg v8a
  • libpng 1.4.8
  • openexr 1.7.0
  • openjpeg 1.4
  • pcre 8.12
  • libxml2 2.7.8
  • openal 1.12.854
  • sdl 1.2.14
  • ffmpeg 0.6.3
  • libsndfile 1.0.24

Si crei una cartella di lavoro

Si scarichi una versione recente di boost nella cartella di lavoro e si estragga in una cartella dedicata:

Si compili OpenImageIO:

Si costruisca Python usando una versione almeno 3.2:

Si installi CUDA Toolkit (il mio package di cudatoolkit non funziona per la compilazione di blender) in una cartella dedicata. Durante l’installazione dare come directory di installazione al posto di /usr/local/cuda la cartella con percorso assoluto /home/gperon/blender-cycles/cudatoolkit:

Dato che la versione di GCC di Slackware è superiore a 4.5 si commentino le righe seguenti in cudatoolkit/cuda/include/host_config.h

Si compili Blender:

Si notino le opzioni per abilitare CUDA in particolare -DCYCLES_CUDA_ARCH=sm_20 specifica per la mia scheda grafica NVidia GTX 570.
Finalmente eseguire Blender con le opzioni di fabbrica che abilitano Cycles addon:

La versione ufficiale di Blender con Cycles è prevista per fine anno, bisogna mettersi al lavoro per uno slackbuild nuovo di Blender…

 

progetto di Daniel Salazar 3Developer.com


Oct 142011
 

Un buon programma di rendering per Blender è Luxrender.

Ho scritto uno slackbuild per luxrender seguendo la documentazione ufficiale. I sorgenti sono stati presi dal repository mercurial all’ultima versione disponibile.

Le dipendenze non presenti nella slackware ufficiale sono:

  • FreeImage preso da slackbuilds.org
  • OpendCL presente nei driver di NVidia presi da slackbuilds.org

Ho avuto alcuni problemi con la versione 0.8 che segnalo

  • boost non viene riconosciuto corretamente da cmake
  • luxray fa uso di OpenCL che ho preso da cuda di nvidia. Mancava  il support a C++ che ho incluso in un nuovo slackbuild di cudatoolkit
  • libpng è presente nelle versioni 1.2 e 1.4, cmake ha problemi a trovarlo ma soprattutto si è presentato l’errore a runtime

Ho deciso di passare alla versione 0.9dev sperando di risolvere i problemi. In effetti la procedura di compilazione è migliore, riconosce meglio le librerie. L’errore su libpng era dovuto a FreeImage che nella versione presente attualmente su slackbuilds usa libpng 1.2, ho modificato lo slackbuild per usare la versione 3.15.0 che usa libpng 1.4.5 quasi allineata alla versione current di Slackware 1.4.8.

Nel pacchetto sono inclusi anche i programmi LuxMark e SLG per usare la GPU nel rendering.

Penso di includere anche LuxBlend25 nel pacchetto appena risolto alcuni problemi nell’integrazione fra Blender e Luxrender. Penso anche di iniziare a compilare Blender con Cycle per CUDA.

Nel frattempo, felice rendering 🙂


Oct 112011
 

Ho modificato lo slackbuild di FreeImage recuperato da slackbuild.org per poterlo usare come dipendenza di luxrender.

La versione 3.12.0 presente attualmente nel repository di slackbuilds usa il vecchio libpng 1.2.35. Per superare l’errore

sono passato alla versione 3.15.0 che usa libpng1.4.5 più vicino alla versione corrente di Slackware 1.4.8 (l’ultima versione 3.15.1 usa libpng 1.5.x)