sunflow(1) rendering system for photo-realistic image synthesis


sunflow [option(s)] file(s)


sunflow is an open source rendering system for photo-realistic image synthesis. It is written in Java and built around a flexible ray tracing core and an extensible object-oriented design. It was created as a framework for experimenting with global illumination algorithms and new surface shading models.


A summary of the options can be obtained by using one of the following options:
-h, -help
Display the list of available commands


Sunflow will run considerably faster with the so called server VM (Virtual Machine). This server VM is part of Java, but it's not included in the standard (JRE) installation of Java. The server VM starts up more slowly and uses more memory than the standard VM, but it runs a lot faster in many cases.

Sunflow's built-in realtime raytracing benchmark (-rtbench) for example runs more than twice as fast with the server VM (exact speedup depends on your hardware).

The easiest way to get the server VM is by installing the Java Development Kit (JDK).

On Debian, it is possible to install different JVM at the same time, amongst which: gij-4.2 (main), openjdk-6-jre (main), sun-java5-jre (non-free), sun-java6-jre (non-free). To change the java link from one to another, use (with root privileges):

"update-alternatives --config java"

A pretty good choice should be openjdk-6-jre.

See also the ``CONFIGURATION FILES'' section.


As explained above, the following options can be used to obtain a performance gain, but depend on JVM used:
Use the server virtual machine. The JDK matching the selected JVM has to be installed for this option to actually work, e.g. sun-java5-jdk (non-free). A warning will be displayed otherwise, and this option ignored.
Use a memory upper limit of MEM instead of the default (probably 64M). Example of valid values: 512M, 1G.

Those options are best set through the SUNFLOW_JAVA_OPTIONS environment variable, or stored in the configuration files.


To allow flexible configuration, the sunflow wrapper sources two configuration files: /etc/sunflowrc and ~/.sunflowrc, in this order.

The syntax is simple "export KEY=VALUE". Lines beginning with a sharp sign are ignored.

The following options are supported:

The java virtual machine to use. It's then possible to have e.g. a system-wide java alternative pointing to /usr/bin/gij-4.2, while sunflow uses a different JVM, e.g. /usr/lib/jvm/java-1.5.0-sun-

If not set (the default), java will be called, meaning the system-wide alternative will be used.

Those are the options to be passed to the java interpreter, see above for examples.
The list of options to pass to sunflow automatically to avoid repeating them on each invocation of sunflow. Quotation marks are needed if more than one option is specified.

If not set (the default), no option is passed to sunflow.


Sunflow was written by Christopher Kulla <[email protected]>.

This manual page was written by Cyril Brulebois <[email protected]>, for the Debian project (and may be used by others). It is licensed under the same terms as the package itself.