Ejemplo con PVM-POV
PVM-POV (pvmpov.sourceforge.net) es la versión paralelizada del renderizador POV-Ray. PVMPOV divide la imagen a renderizar en pequeños bloques que asigna a los esclavos. Cuando estos terminan su trabajo envían los resultados al master que los combina para generar la imagen final.
PVM-POV es un parche para POV-Ray por lo que para instalarlo tenemos que descargarnos el parche, aplicarlo a las fuentes de POV-Ray y compilar. Encontraremos instrucciones detalladas en PVMPOV HOWTO.
Usaremos como ejemplo la escena skyvase.pov que podemos descargar de PovBench (haveland.com). Primero la copiaremos en los esclavos:
francis@master:~$ scp skyvase.pov francis@slave1:~/pvm3/skyvase.povPara ejecutar el renderizado el comando es:
$ pvmpov +Iskyvase.pov +Oskyvase.tga +Linclude pvm_hosts=slave1,slave2
+NT3 +NW64 +NH64 +v -w1024 -h768- +Iskyvase.pov: la entrada es skyvase.pov.
- +Oskyvase.tga: la salida es skyvase.tga.
- +Linclude: el directorio para includes es ./include.
- pvm_hosts=slave1,slave2: esclavos.
- +NT3: divide el renderizado en 3 tareas PVM (una para cada esclavo).
- +NW64: ancho de los bloques 64 pixels.
- +NH64: alto de los bloques 64 pixels.
- +v: verbose.
- -w1024: ancho de la imagen 1024 pixels.
- -h768: alto de la imagen 768 pixels.
Se generará ~/pvm3/skyvase.tga que contiene la imagen generada. Para convertirla a .jpg:
$ tgatoppm skyvase.tga > skyvase.ppm $ ppmtojpeg skyvase.ppm > skyvase.jpg
Recursos
- skyvase.pov
- PVMPOV HOWTO: pvmpov.sourceforge.net/PVMPOV-HOWTO.html
Deja un comentario
