QrenHelpTeaser
From Odwiki
This is the help for a script written by MarioMarengo here at Axyz. It's intended both as an example of the sorts of highly useful things that can be implemented for use with SunGridEngine, and as a terrible tease because unfortunately we cannot release this script to the general public. The idea of this is to inspire...
USAGE: qren <options>
MINIMUM USAGE: qren -shot [shot_name] -disp -[display_list]
PURPOSE: Generic gridware rendering script.
This script tries to make very few assumptions about how things are set up. It does however expect the variable $JOB to be defined. The only thing it really enforces somewhat is a naming convention for the output. Typically, pictures need to be organized within two layers: ShotName->Layer. e.g Sc01/ShadowPass, Sc01/FGobjects, etc. More often than not, this is necessary for compositing purposes. As a result, the script will attempt to organize the output in this way. The shot name is given by the '-shot' option, and the layer by '-layer'. So, in normal cases, output will look like this: * Images go to '<dir_pic>/<shot>/<layer>/<shot>.<layer>.$F4.tif' * Scripts go to '<dir_shell>/<shot>/<hipname>.<layer>[.sub]' * Gridware output to '<dir_out>/<shot>' Where 'dir_pic', 'dir_shell', 'dir_out', 'shot', and 'layer' are all user-settable options. It works by creating both the gridware script and an accompanying submission stub on the fly, then immediately submiting it. Actual submission may be skipped through the '-submit' option and done manually by executing the stub. Customization beyond what the parameters provide is also available through pre- and post-include files or statements, both at the c-shell level and in the hscript block. This is how run-time axent settings are modified for example.
OPTIONS: -shot|-scene -hipdir -hip -layer -start|-first -end|-last -finc -cam -resx -resy -aspect -disp -matte -autogen -phantom -part -submit -hpreinc -hpostinc -shpreinc -shpostinc -renderer -renderparms -blur -initsim -dof -quality -eyesplits -samples -motionfactor -bucket -filter -filtersize -hpriority -rpriority -qsoft -qhard -time -dir_shell -dir_out -dir_pic -dir_rib Here's an explanation of the available options:
General Options:
-shot [or -scene] shot_name
This is one of three possible ways to specify the hip file. In this
case, it assumes that 'shot_name' is the name of a subdir of
$JOB/Hip, and will pick up the latest hip file from that location.
Note that this can be used in conjuction with -hip or -hipdir; in both
cases 'shot_name' gets used as the directory name for output - of pics,
ribs, gridware, etc. i.e: a "label" for the render pass.
See also -hipdir and -hip. The order of precedence is -hip -hipdir -shot.
At least one of the three forms *must* be specified.
Defaults to "QREN.[date.time]".
-hipdir path_to_hip_directory
This is one of three possible ways to specify the hip file. In this
case, it expects the full path to the directory containing the hip file.
It will then pick up the latest hip file from that location.
If '-shot' is not defined it will generate a unique name for the pass.
See also -shot and -hip. The order of precedence is -hip -hipdir -shot.
At least one of the three forms *must* be specified.
-hip full_path_to_hip_file
This is one of three possible ways to specify the hip file. In this
case, it expects the explicit full path to actual hip file.
If '-shot' is not defined it will generate a unique name for the pass.
See also -shot and -hipdir. The order of precedence is -hip -hipdir -shot.
At least one of the three forms *must* be specified.
-layer layer_name
The name for this pass, if any. e.g: Shadow, Reflections, Main, etc.
Default is "".
-start [or -first] frame_number
Sets the start frame for the render. Defaults to 1.
-end [or -last] frame_number
Sets the end frame for the render. If not supplied, it
will search the hip file for the variable $SHLEN and, if
found, set it to its value; else it uses $NFRAMES, which is the
full hipfile's frame range.
-finc frame_increment
Sets the frame increment for the render. Please note that no attempt is
made by qren to verify this value. If a string is given instead of a
number, or the increment is <1 or >$NFRAMES, you'll get undefined
results.
-part [integer or string - any unique ID]
This is used to avoid filename collisions for the special case of
submitting a single layer in multiple passes with differing frame ranges.
Typically this is done when the rib-generation part of a render takes a
long time to compute, so you'd like to distribute it amongst many machines.
You should ensure that the IDs within a set are indeed unique.
For example:
qren -shot Sc15 -layer Foo -start 1 -end 10 -part 1
qren -shot Sc15 -layer Foo -start 11 -end 20 -part 2
qren -shot Sc15 -layer Foo -start 21 -end 30 -part 3
-cam camera_name
Sets the name of the camera to use. If not supplied, it
will search the hip file for the variable $CAM and, if
found, set it to its value; else it defaults to "cam1".
-resx horizontal_resolution
Horizontal resolution of the rendered image. Defaults to 720
-resy vertical_resolution
Vertical resolution of the rendered image. Defaults to 486
-aspect aspect_ratio
Aspect ratio of the rendered image. Defaults to 0.9
-disp display_list
A space-separated list of objects that need to be displayed.
Every word following this option will be assumed to be a member
of the display list, unless it starts with a '-' character (i.e:
another option) or the end-of-arguments is reached. The list may
include group labels - names that start with the '@' symbol.
WARNING: All lists default to the empty-list: ""!
-matte matte_list
A space-separated list of matte objects. See the '-disp' option
for more details.
-autogen autogen_list
A space-separated list of objects that need to auto-generate
shadows or reflection maps. See the '-disp' option for details.
-phantom phantom_list
A space-separated list of phantom objects. See the '-disp' option
for more details. This is obviously more applicable to Mantra or Entropy,
but not to PRMan, since there's no concept of "phantom" in PRMan.
-submit [0|false|off|no or 1|true|on|yes]
Whether to submit the script right away. Default is 1|true|on|yes.
Include Options:
-hpreinc [filename or hscript_command]
This includes a file or an explicit hscript command at the head
of the hscript section. This option can be used multiple times
in a single command line. If the argument has no spaces, it will try to
see if it exists as a file. If it does, it will include it,
othrwise it will insert the argument line verbatim. If the argument
is meant to be an explicit command, it should be enclosed in
single quotes. If it needs to embed back-quotes [`], they should be
escaped with a single back-slash [\]. Filename args should include
the full path as the CWD during runtime can't be guaranteed.For example:
-hpreinc $JOB/Scripts/hpreinc.txt
will include the contents of the file 'hpreinc.txt' (if it exists)."
-hpreinc 'set tmp = \`axent_setattr("Nutty","visibility camera","1")\`'
will make the object "Nutty" visible to camera rays.
-hpostinc [filename or hscript_command]
This includes a file or an explicit hscript command at the end
of the hscript section. See '-hpreinc' for details.
-shpreinc [filename or cshell_command]
This includes a file or an explicit c-shell command before the hscript
block. See '-hpreinc' for details.
-shpostinc [filename or cshell_command]
This includes a file or an explicit c-shell command after the hscript
block. See '-hpreinc' for details.
Renderer Options:
-renderer renderer_name
Which renderer to use. Possible values are:
rman, mantra, omantra, entropy, entropy_dual, axent, axent_dual.
Default is 'rman'.
-renparms 'render parameters'
Use this to pass renderer-specific command-line parameters. Note that
the parameters *must* be enclosed in single quotes. For example:
qren -renderer mantra -renparms '-z -H localhost,localhost -b 16 -V'
-imgformat file_extension (e.g: tga). Default is "tif"
This changes the extension of the output image file. In the case of
PRMan, it won't change the output device -- just the file extension,
so beware!
-blur [none | deform | xform | velocity]
Set the type of motion blur. Default is 'none'.
-initsim [on | off]
Switch simulation initialization on or off. Default is 'off'.
-dof [on | off]
Turns depth of field on or off. Default is 'off'.
-quality render_quality
Sets the render quality. Inversely analogous to PRMan's 'shadingrate'.
Defaults to 1.
-eyesplits num_of_split_attempts
Sets the number of times that PRMan will attempt to split the geometry at the
camera plane.
PRMan's default is 10, but qren's is 5.
-samples oversampling_rate
Sets the render number of samples per pixel. Defaults to 4.
-motionfactor motion_fator
This is the PRMan-specific 'motionfactor' attribute. Default is 1.
-bucket bucket_size
This is the PRMan-specific 'BucketSize' option. Default is PRMan's default.
-filter [box | triangle | gaussian | catmull-rom | b-spline | sinc]
Default is "gaussian"
-filtersize filter_size
All filters default to a size of 2 with the
exception of the 'box' filter, which defaults to 1.
Gridware Options: -hpriority hscript_priority Set the Gridware priority for hscript submissions. Default is -50 -rpriority render_priority Set the Gridware priority for render submissions. Default is -100 -qsoft queue_list A preferred queue list separated with commas. Default: "" -qhard queue_list A required queue list separated with commas. Default: "" -time MMDDhhmm A time at which to start the render. Format is double-digit numbers with no separators and in this order: Month:Day:Hour:Minute. For example: '01011200' for Jan 1st at noon. Default: ""
I/O Options:
***NOTE: All paths get created if they don't already exist.*** -dir_shell path Location for the automatically generated shell scripts. Defaults to $JOB/Scripts/Auto -dir_out path Location the Gridware output files. Defaults to $JOB/Out -dir_pic path Destination for picture files. Defaults to $JOB/Pic -dir_rib path Destination for temp rib files. Defaults to /pic5/ribs



