netrender   -   render an image remotely, optionally as parallel subframes, using one or more Network RenderMan servers.


SYNOPSIS

netrender [ options ] ribfiles

DESCRIPTION

netrender is a program that passes a sequence of RenderMan Interface Bytestream (RIB) requests to one or more Network RenderMan render servers in order to generate an image. The environment of the netrender program consists of all RenderMan shaders and textures as well as the complete display environment. This means files and windows will be opened locally, not on the Network RenderMan render servers.

The simplest valid netrender command is:

netrender ribfiles

which submits the named RIB files to the Network RenderMan render server on the local host.

OPTIONS

-h hostname
Specifies the computer hostname on which to find the Network RenderMan render server. The -h option may be specified more than once to have the frame processed in parallel by several instances of the renderer, possibly distributed around the network. The same host may appear more than once, to make use of several CPUs, for example. There is also a shorthand for specifying several instances of the same host in one option argument: ":-h hostname:count". Some examples:
    netrender -h venus -h mars frame1.rib
    netrender -h saturn -h saturn frame2.rib
    netrender -h saturn:2 frame2.rib
    netrender -h jupiter:4 -h neptune:2 frame3.rib
If the -h option is absent, the environment variable RENDERHOST will be used as the hostname. If neither -h nor RENDERHOST specifies a host, the Network RenderMan render server on the host where netrender was invoked will be used.
-f
Tells the remote renderer that it should attempt to open shader and texture files itself "locally" on the server host. For example, the files may actually be resident on the server by prior arrangement, or the files may be on some shared fileserver and are accessible with local-file semantics (.e.g. nfs or mounted network drive). If the server fails to find a file locally, it defers back to the netrender client context to open and copy the file. The native network file system will usually be much higher performance than netrender's own simple point-to-point transfers, and furthermore will likely benefit from OS caching strategies.
-F
This Fast mode is similar to the "-f" option above, but all files including RIB files are required to be accessible through local i/o mechanisms on the server; no attempt is made to copy them through netrender's own protocol. The emphasis here is on improving the performance of rendering subframes in parallel on several hosts; and especially avoiding the approximately serial transfer time of multi-gigabyte RIB files to each server through netrender's own simple protocol. The caller must arrange for the RIB file to be network-accessible on all servers using the specified filename.

The "-F" option also enables coalescing to threads when a particular hostname is given more than once with the "-h" option. For example, if "-F -h hostname:6" is given, then a single "prman -t:6" will launched on the specified host, rather than launching the typical six independent single-threaded processes there. As usual with multi-threaded renders, site-developed plugins must be thread-safe in this mode.

-progress
Causes percent-done status to be written to the terminal. Each new status message uses carriage-return to overwrite the previous value. There is an alternate form, "-Progress" which write simple newline-delimited lines to the terminal; note that each remote server will generate their own percentage values based on their assigned work, and the processor index will precede each message.
-R keyword
Sends the specified word (or quoted list of words) to the server for use in selecting a particular version of PRMan to run, or environment to establish. The keywords can be arbitrary, and are processed by a site-modifiable procedure in alfserver.ini on each server. Typically they are used to establish a site-defined environment prior to launching a particular version of the renderer. For example: several shows may be in production at once, each locked down to a particular set of tools; the tools may all be accessible from each server, and this option allows a single alfserver to multiplex requests for frames from each show on a per-request basis.
-rif plugin [-rifargs arg arg ... -rifend]
Execute the given rif plugin and arguments on the RIB stream while rendering.
-p portnumber
This causes netrender to send the network request on the specified network port portnumber. This overrides port values set by any other means. If -p is absent, netrender will call getservbyname asking for the port number for service "alfserver" and protocol "tcp". This may be set by a system adminstrator either in the local file /etc/services or through the NIS (or Yellow Pages) system. If no port is found through getservbyname the port number will be set from the /nrmserver/port line in the rendermn.ini file. If no port number is found by any of these means, port 1500 will be used.

ENVIRONMENT

The following environment variables are used (if set) by netrender:

RMANTREE	path to the base directory of the RenderMan software
		default: %RMAN%
RMANCONFIG	path to the configurations defaults file
			default: ${RMANTREE}/etc/rendermn.ini
RENDERHOST	name of default Network RenderMan server host

FILES

${RMANTREE}/etc/rendermn.ini	renderer configuration defaults file
${RMANTREE}/etc/messages	directory containing error message files
${RMANTREE}/etc/dspyserver	RenderMan display server for image output
${RMANTREE}/lib/shaders		RenderMan standard shaders directory
${RMANTREE}/bin/alfserver	the netrender server executable
${RMANTREE}/etc/alfserver.ini	server configuration defaults file

SEE ALSO

alfserver(1), PhotoRealistic RenderMan User's Manual(1), RenderMan Interface Version 3.1(1)

 

Pixar Animation Studios
(510) 752-3000 (voice)   (510) 752-3151 (fax)
Copyright © 1996- Pixar. All rights reserved.
RenderMan® is a registered trademark of Pixar.