LightWave ScreamerNet II Commands
=================================
	Allen Hastings
	last revised 7/95


This document briefly summarizes the commands recognized by ScreamerNet
render modules running in SN II mode (started with the "-2" option), and is
current as of version 3.99d.

To send a command to a render module, write it into the first line of the
job file specified when the render module was executed (the filename is the
second argument of the LWSN command line).  Note that render modules tries
to read a config file before starting to poll the job file, which means that
the filenames appearing with the "load" and "output" commands may be
relative to a content directory set by the config file.  Another thing to
note is that if the same command is sent multiple times in a row, the render
module will ignore all but the first instance (with the exception of the
"wait" and "init" commands).  If multiple render commands are sent in a row,
they are not ignored if the specified frame range is different from one
command to the next.


wait <additional delay time>

  This command tells the render module to wait.  It will write "Ready" into
  its acknowledgement file after receiving the command (before pausing).
  The pause will normally be one second, after which the render module will
  again read its job file, but an optional integer can be added after the
  wait command specifying an additional number of seconds of delay.

  This command will often be sent to a render module right after another
  command that may take a while to complete (like "render").  This allows
  a render farm controller to determine when the previous task has been
  completed by waiting for "Ready" in the acknowledgement file.  In an
  earlier version of SN II, "Ready" was returned when any command finished,
  but this caused problems when commands were completed quickly.  For
  example, a fast machine might finish rendering a frame before the
  controller ever saw the acknowledgement that rendering had begun.  The
  current scheme avoids such potential confusion.


init

  This command causes the render module to clear its current scene and
  return the type of CPU it's running on.  The acknowledgement file will
  contain the word "Initializing" on line one and the machine name (which
  currently is one of "Amiga", "x86", "MIPS", "Alpha", or "SGI") on line
  two.


load <scene filename>

  This command causes the render module to load the specified scene file.
  The filename is often on another networked machine, and, as mentioned
  earlier, it may be relative to a content directory if the render module
  found a config file when it first started.  This also applies to the
  object and image filenames specified within the scene file.  "Loading"
  will be written into the acknowledgement file.


render <first frame> <last frame> <frame step>

  This command causes the render module to render the specified frames of
  the scene that was loaded with the "load" command.  LightWave 4.0's
  built-in controller always sets the last frame equal to the first frame
  (so that only one frame is generated per render command), but this is
  not necessary.  "


output <RGB image prefix> <alpha image prefix>

  This command sets the prefix parts of the filenames using by the render
  module to save rendered RGB and alpha channel output.  As in LightWave's
  record panel and scene files, the prefix also includes the file path.
  Either prefix may also read "(none)", which turns off saving of that type
  of image.  Note that if a 32-bit RGB output format is in use, the alpha
  channel will be saved in the same files as the color information and the
  alpha prefix should then be set to "(none)".  LightWave's built-in
  controller does not use this command, which means that the prefixes set
  by the scene file itself are used.


quit

  This commands ends execution of the render module.  Before the module
  exits, it writes "Offline" into its acknowledgement file.
