=head1 NAME

sunflow - rendering system for photo-realistic image synthesis

=head1 SYNOPSIS

B<sunflow> I<[option(s)]> I<file(s)>


=head1 DESCRIPTION

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


=head1 GENERAL OPTIONS

A summary of the options can be obtained by using one of the
following options:

=over

=item B<-h>, B<-help>

Display the list of available commands

=back


=head1 PERFORMANCES

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 (B<-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: I<gij-4.2> (main), I<openjdk-6-jre> (main),
I<sun-java5-jre> (non-free), I<sun-java6-jre> (non-free). To change
the I<java> link from one to another, use (with root privileges):

C<update-alternatives --config java>

A pretty good choice should be I<openjdk-6-jre>.

See also the L<CONFIGURATION FILES> section.


=head1 SUGGESTED OPTIONS

As explained above, the following options can be used to obtain a
performance gain, but depend on JVM used:

=over

=item B<-server>

Use the server virtual machine. The JDK matching the selected JVM has to
be installed for this option to actually work, e.g. I<sun-java5-jdk>
(non-free). A warning will be displayed otherwise, and this option
ignored.

=item B<-Xmx>I<MEM>

Use a memory upper limit of I<MEM> instead of the default (probably
64M). Example of valid values: 512M, 1G.

=back

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


=head1 CONFIGURATION FILES

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

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

The following options are supported:

=over

=item B<SUNFLOW_JAVA>

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

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

=item B<SUNFLOW_JAVA_OPTIONS>

Those are the options to be passed to the java interpreter, see above
for examples.

=item B<SUNFLOW_OPTIONS>

The list of options to pass to sunflow automatically to avoid
repeating them on each invocation of B<sunflow>. Quotation marks are
needed if more than one option is specified.

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

=back


=head1 SEE ALSO

F</usr/share/doc/sunflow/README.Debian>


=head1 AUTHOR

Sunflow was written by Christopher Kulla <ckulla@gmail.com>.

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