====== BLENDER ======
[[https://www.blender.org/|Blender]] es una suite de creación 3D gratuita y de código abierto. Admite la totalidad de la tubería 3D: modelado, montaje, animación, simulación, renderizado, composición y seguimiento de movimiento, incluso la edición de video y la creación de juegos.
Para trabajar con Blender en el HPC UO, el usuario tiene que crear el fichero con formato .blend en su estación de trabajo, cargar ese fichero a su directorio personal del clúster (//home//) y luego enviar su trabajo mediante un script de Slurm.
Se puede usar paralelismo de memoria compartida y memoria distribuida. Por ejemplo, para renderizar una figura usando memoria compartida, se puede usar el siguiente script:
#!/bin/bash
#SBATCH -partition=public
#SBATCH -job-name=blender
#SBATCH -nodes=1
#SBATCH -ntasks=6
#SBATCH -o slurm.%N.%j.err # STDOUT
#SBATCH -e slurm.%N.%j.err # STDERR
module load Blender/3.3.1
cd $SLURM_SUBMIT_DIR
blender -noaudio -b .blend -o //NombreDelDirectorioDeSalidaRelativaAlFichero.blend -t 6 -engine CYCLES -F PNG -a
En este ejemplo se usa 1 nodo y 6 cores (paralelismo de memoria compartida). Blender usa 6 hilos (-t 6), emplea la máquina CYCLES y se define el formato PNG (otros formatos son posibles). La salida se graba en un subdirectorio dentro del directorio donde está el fichero .blend, cuyo camino se da relativo a este directorio usando //.
Otros argumentos son posibles. Ver [[https://docs.blender.org/manual/en/latest/advanced/command_line/render.html|Manual Blender]]
Es importante notar el orden en que se escriben los argumentos. Si no se indican en el orden anterior puede que el resultado final no se grabe en el subdirectorio especificado o que no haya ningún resultado.
En el caso de trabajar con videos, se especifica el número de //frames// a renderizar. Por ejemplo, para crear los frames del 1 al 100 la última línea del script es:
blender -noaudio -b .blend -o //NombreDelDirectorioDeSalidaRelativaAlFichero.blend -t 6 -s 1 -e 100 -engine CYCLES -a
Después que se obtengan todos los //frames//, el usuario puede descargar los mismos a su estación de trabajo y usar el Editor de Secuencia de Video (VSE) de Blender (u otra aplicación) para crear el video deseado.