Imprimir

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.pov

Para 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

Deja un comentario