On this page |
husk [options] usd_file [-o image_file]
Tips ¶
-
On Linux and macOS, you can send the
husk
process aSIGUSR1
signal on the command line (kill -USR1 pid
) to force it to write out a snapshot image of the current render.
Options ¶
Information ¶
--help
Show this help.
--version
Print the renderer’s version string.
Karma ¶
--properties
Print the names of all the rendering properties Karma understands, and their defaults.
--property-definition
Print full information about all the rendering properties Karma understands.
--property-definition-file filename
Save the full information about all the rendering properties Karma understands to a file. If the filename is -
, writes the information to standard output.
--procedurals
Print all procedural definitions.
--filters
Print information about the filters and oracles Karma understands.
-p/--pixel-samples samples
Samples per pixel. Default is 128
. Specifying this on the command line overrides any render settings in the USD file.
--bucket-size pixels
Size of render buckets, in pixels. Default is 128
. Specifying this on the command line overrides any render settings in the USD file.
--bucket-order order
Determines which buckets get rendered first in the image. Options are:
-
middle
- Render starting from the middle of the image -
top
- Render buckets starting at the top of the image -
bottom
- Render buckets starting at the bottom of the image -
left
- Render buckets starting at the left side of the image -
right
- Render buckets starting at the right side of the image
--image-mode mode
--progressive-passes count
--disable-lighting
Do not render any lighting.
--ao-samples samples
Ambient occlusion samples (headlight shading). Default is 0
.
--ao-distance n
Ambient occlusion distance cutoff. Default is 1
.
--lock-random seed
Use seed as the random number seed instead of the frame number.
--dicingcamera prim_path
Dice using the camera at the given prim path. If this is not specified, Karma uses the render camera for dicing.
--optimize-offline level
This option is currently disabled and has no effect.
--baking-info
Instead of rendering an image, print information about baking (list of UDIM tiles or the number of images required for ptex texture generation).
USD ¶
--usd-input filepath
The USD scene file to render.
--list-settings
Prints information about the render settings primitives in the scene.
--list-cameras
Prints information about the cameras in the scene.
--list-renderers
Prints list of all Hydra render delegates available.
--purpose tokens
Which purpose(s) to render. This can be a comma separated list of purpose tokens. The default is geometry,render
.
--complexity token
The geometry complexity to render at. Options are low
, medium
, high
, and veryhigh
.
--disable-motionblur
Overrides the disableMotionBlur
render setting, forcing the shutter close time to be equal to the shutter open time. This effectively disables motion blur.
--disable-delegate-products
Most render products have raster files as output. Render delegate products are used to represent non-raster products (deep images, checkpoint files, photon maps etc.). This option will disable delegate render products and only generate raster output.
-s/--settings prim_path
Render using the RenderSettings
at the given primitive path.
--prerender-script python_file
Run the given Python script prior to rendering. You can use the stage
variable in the script to reference the USD stage being rendered. This script runs after the USD file is loaded, but before reading the settings primitive or rendering. The python_file
argument is parsed into multiple arguments. Care should be taken to properly quote arguments that contain spaces. The hou.frame()
function will return the first frame to be rendered.
--preframe-script python_file
Run the given Python script prior to each frame being rendered. You can use the stage
variable in the script to reference the USD stage being rendered. The settings
variable contains a dictionary of render settings. This script runs after the USD file is loaded, but before reading the settings primitive or rendering. The python_file
argument is parsed into multiple arguments. Care should be taken to properly quote arguments that contain spaces. The hou.frame()
function will return the frame being rendered.
--postframe-script python_file
Run the given Python script after each frame is rendered. The stage
and settings
variables are available and hou.frame()
returns the frame that was just rendered.
--postrender-script python_file
Run the given Python script after all frames are rendered. The stage
variable is available and hou.frame()
returns the last frame rendered.
--usd-trace method
Enable USD function tracing. The method
determines the reporting method:
report
– Print the time and sample counts for each function.
timing
– Print the time spent in each function.
chrome
– Generate JSON output suitable for viewing in the Chrome tracing format. This option requires the --usd-chrome-file
option to specify the log file output.
Note that enabling this option may have a significant impact on performance.
--usd-chrome-file filename
This option both enables USD function tracing (it implies --usd-trace chrome
) and also specifies the filename where the JSON tracing information will be saved.
RenderSettings overrides ¶
Specifying these on the command line overrides any render settings in the USD file.
-c/--camera prim_path
The primitive path of the camera to render from.
-o/--output file_path
Output image file path. This can contain certain local variables:
$F
Current frame number.
$FN
Current frame number with fixed number of digits, specified by a digit after the F
. For example, $F4
expands to the current frame number as four digits (for example, 0001
).
$FF
Floating point frame. This may be different from $F
for expressions that are evaluated between frames (motion blur, simulations).
$N
The “ordinal” number of the frame currently being rendered (for example, for the first frame rendered, $N
will always be 1
, for the second frame rendered, $N
will always be 2
, and so on, even if, given the frame range, the first frame is frame 40
).
<F>
, <FF>
, <F4>
Same as $F
, $FF
, $F4
.
%d
, %g
, %04d
Same as $F
, $FF
, $F4
.
-r/--res width height
Rendered image width and height, in pixels (e.g. --res 1280 720
)
-S/--res-scale percent
Scale the output image by the given percentage. For example, --res-scale 25
renders the image at 1/4 size, and --res-scale 250
scales the image 2.5× larger.
--pixel-aspect float
Pixel aspect ratio (pixel width as fraction of pixel height). Default is 1
(square pixels).
--make-output-path
Create any parent directories of the output image if they doesn’t already exist.
-f/--frame n
Start frame number. Default is 1
.
-n/--frame-count n
Number of frames to render, including the start frame. Default is 1
.
-i/--frame-inc n
Frame increment. Default is 1
.
--fps n
Override the frames-per-second defined on the stage. This value is passed to render delegates as the houdini:fps
render setting and can optionally be used when computing velocity motion blur.
Rendering ¶
-R/--renderer token
Render using an alternate Hydra client.
`–delegate-options string
A list of options that are specific to the render delegate chosen.
j/--threads n
Number of threads. 0
means use all processors. -1
uses all processors except one.
--fast-exit 0|1
Setting this to 0
does a full tear-down of the USD scene and Hydra interface.
--restart-delegate
n
Normally, husk uses USD delta operations to make multiple frame rendering more efficient. The delegate is only told about scene data that changes frame-to-frame so it can share work between frames. Using this option will cause the render delegate to be restarted every n
frames. For example specifying 1
will cause the render delegate to be restarted every frame. Specifying 3
will use USD deltas for 3 frames, then restart the delegate before rendering the 4th frame. A value of 0
(the default) will never restart the delegate. Since restarting the delegate will cause the scene to be rebuilt, using this option can have significant performance impact and should only be used if truly required.
--snapshot sec
Save a snapshot of the current state of the rendered image every sec seconds. -1
means no snapshots. Default is -1
.
--snapshot-path path
Overrides the path where the snapshot image should be saved.
--snapshot-suffix suffix
Specifies the suffix that’s added to the image filename when saving snapshot images. This defaults to _part
. Setting it to an empty string will cause husk
to use the final output image name as the snapshot image.
--snapshot-save-mode mode
Normally, snapshots are used to show rendering progress and are deleted when the render completes. This option allows you to control this behaviour. The possible values are:
off
Delete snapshot partial images when image is finished rendering.
number
Save each snapshot as a numbered sequence of files. This allows you to see the progression of snapshots over the render.
--exrmode mode
-1
Use HOUDINI_OIIO_EXR
variable.
0
Use classic driver.
1
Use improved driver.
--autocrop pattern
Some image formats (OpenEXR) support a data window which only stores pixel data for a part of the overall size of the image. This option lets you automatically trim the data window to only the rectangle in which an AOV (or any of a list of AOVs) has non-zero values.
For example, husk --autocrop C,A
will trim to the smallest rectangle containing any non-zero pixels in either the C
(color) or A
(alpha) AOVs. The default is an empty string, meaning do not autocrop.
You can specify *
to mean all AOVs. On the Mac and Linux command line you will probably need to quote the asterisk to prevent the shell from expanding it: husk --autocrop "*"
.
Note that any pixel data outside the data window is not saved to the image (The data window is an actual cropping of the data, not a display setting).
Because this option only works with “zero” vs “non-zero”, it isn’t useful for values where “clear” is not represented by 0
. For example, trimming by color only works with a black background. As another example, it might be useful to crop out “farthest” Z-depth values, but those values are set to the far clipping plane depth, not 0
.
This is similar to running iautocrop
on the image as a post process.
--mplay-monitor aovs
Automatically start up an mplay monitor of this render. The monitor can be used to observe progress as the image is rendered. The aovs specifies a comma separated list of AOVs to be displayed in mplay. For example --mplay-monitor C
will only display the color plane (even if the image being written to disk has multiple AOVs). The option --mplay-monitor C,N,diffuse
will send the C
, N
and diffuse
planes to mplay for inspection. The selected AOVs must be present in the image being saved to disk to be displayed in the monitor.
If a single hyphen is given for the aovs (e.g. --mplay-monitor -
), then all AOVs will be send to the monitor.
Warning: Closing the monitor will terminate the render.
--no-mplay
Disable any rendering to mplay. This option is useful when rendering on headless machines (on a farm).
--mplay-scale scale
Specify an scale for any renders to mplay. This includes the monitor or any mplay render products. The value for the scale argument is currently limited to 10 to 100 percent of the image being rendered to disk. The mplay image will be point-filtered, meaning there will be no blurring of the source pixels.
--mplay-update seconds
The number of seconds between updates of the mplay image.
--mplay-session label
Send mplay renderings to the session specified by the label.
--mplay-bgimage image
Specify an image to display in the background of mplay.
--mplay-gamma gamma
If the gamma value is greater than 0, set the display gamma in mplay.
--mplay-lut lut
Specify a display LUT for mplay.
--tile-count xcount ycount
Husk can render a large image in multiple tiles. This option specifies the number of tiles in the x and y directions. It should be used in conjunction with the --tile-index
option.
--tile-index index
When rendering a single image in tiles, this option specifies the index of the tile to be rendered. The index starts at 0
. The number of tiles is determined by the --tile-count
option.
--tile-suffix suffix
When rendering a single image in tiles, this option specifies a suffix added to the image filename, expanded using the --tile-index
. This option uses the same rules as the -o
option (for example _tile%02d
). In expansion of the tile index, the F
variable represents the tile index, while the N
variable is the one-based tile index (starting at 1 instead of 0).
--timelimit sec
Cancel the render if it takes more than sec seconds. The default -1
is no time limit.
--timelimit-image
--timelimit-nosave-partial
If the render hits the time limit, don’t save a partial image.
--stdout filename
Send standard output to the given file.
On Windows, you can use consolewait
or consolenowait
instead of a file name. consolewait
opens a console window for the output, and you must close the window before the next frame will render. It lets you read fast-moving output but requires you to babysit the window. consolenowait
opens a console window and closes it as soon as the frame is done. For slow renders you might still be able to read the output, and it doesn’t require you to click to close the window at every frame.
--stderr filename
:
Send standard error to the given file. This file may be the same as the file specified by --stdout
.
--append-stdout filename
Send standard output to the given file, appending to the file rather than replacing.
--append-stderr filename
Send stander error to the given file, appending to the file rather than replacing.
--windows-console mode
On windows, this option will override the redirection options and open a console to display output. The mode should either be wait
or nowait
.
-V/--verbose level
Print more or less information while rendering. Default is 2
.
0-9
Verbosity of rendering statistics. Note that verbose levels of 8 and greater may affect rendering performance and should only be used for debugging problem scenes.
p
Enable VEX profiling (impacts performance)
P
Enable VEX profiling and NAN checks (severe impact on performance)
a/A
Turn on/off Alfred style progress
e/E
Turn on/off message elapsed time
t/T
Turn on/off message time stamps
Licensing ¶
These options are only available when using the new licensing system. For more details on the new system see this page.
--list-license-checks
List the licenses that are available to be checked by husk and the licenses that will be checked by husk.
--check-licenses license(s)
The licenses that should be enabled when checking for a license for husk. The internal name for the license should be used. Add a ,
between each license listed.
--skip-licenses licene(s)
The licenses that should be disabled when checking for a license for husk. The internal name for the license should be used. Add a ,
between each license listed.
--skip-license-modes mode(s)
The license modes that should be skipped when checking for a license for husk. Add ,
between each mode listed.
--check-license-modes mode(s)
The license modes that should be included when checking for a license for husk. Add ,
between each mode listed.