HTTPov: A distributed
POV-Ray rendering system


What, why and where? IQ

What is HTTPov?

HTTPov is a system intended for distributing POV-Ray rendering. It consists of one central server and at least one client, fetching render batches from the server via HTTP, and delivering them back the same way. It strives to have as few requirements as possible, in order to make it effortless to deploy. It is free, licensed under the GPL, and comes with full source code. The client is available in two distinct flavours; version 1.2 is a bash script, and version 2.2 is a Python script. Versions 1.2 and 2.2 are in all relevant ways intended to be feature compatible. The HTTPov server is written in PHP.

The system was primarily designed to render animations, but is just as capable of distributing slices of a single image to the clients as well.

New in the x.2 release is the ability to render several jobs in parallel, with a per-job number of clients working on each. Previous versions would assign all available clients to the latest job before continuing to the next.

New in the x.1 release was the ability to render sliced animations, i.e. animations built from sliced images, a group label for statistical purposes, and improved handling of network outages.

The client is designed to work with a default installation of POV-Ray 3.6, and works under, tested so far, Linux, NetBSD and Cygwin. Special care has been taken to make use of POV-Ray for Windows possible. OS X compatibility is not well tested. As POV-Ray 3.6 isn't SMP capable, one client will just use one core or CPU, but if you run one client per available core/CPU, they will use them all.

POV-Ray 3.7 works with HTTPov, too, but is SMP capable, and will use all CPUs/cores on a single machine. For rendering on several machines in parallel, HTTPov will still be useful.

All files are available on the download page.

Client requirements:

The following applications are normally distributed with Linux, and can be added to Windows through Cygwin.

Client 1.2:

  • bash
  • curl
  • zip
  • unzip

Client 2.2:

  • Python 2.4 or later
And, of course, POV-Ray:

Server requirements:

The server was developed on a CentOS 4 machine, and has not been tested under Windows.

Status viewer requirements: