Running POVray jobs on Nordugrid

This is a quick hack to run a POVray demo on Nordugrid.

You need (of course) to be able to run jobs on Nordugrid, and you need Python (2.3 works for sure, earlier versions might work) with the Python Imaging Library installed. You also need the Tkinter module, but this is normally available in all standard Python installations.

Download and unpack this tar-ball: povraydemo-2.1.tar.gz.

In it you will find a number of files:

povraydemo.py
The actual executable to run to start the demonstration.

Job.py
Code for interfacing to the ARC command line tools.

monolith.pov
The POVray model file.

front.png
An image of a cluster node, included by the model.

runpov.sh
A wrapper script to start POVray on a computation node.

set_height.py
Stuff to munge partial PNG images. This actually contains the most complicated functionality, since the partial images generated by POVray are not well-formed. If POVray is instructed, for example, to render 50 horizontal lines of a 1200 pixel tall scene in PNG format, the output file is a PNG file with a header claiming the image is 1200 pixels tall, but only containing image data for 50 lines. This causes most image handling tools to refuse to open the image, so the we need to rewrite the binary header chunk of each file before they can be pasted together using the Imaging library. Sigh.

There is an older, non-GUI, version of this demo available here.

Leif Nixon