Short Contents

3.7 Using ribdepends

ribdepends is a utility to list dependencies in a given RIB file as well as make site independant RIB packages.

The general command line syntax is:

ribdepends [options] [file1 file2 ... filen]

And the following options are accepted:

` -package dir'
Copies specified RIB files and all their dependencies in `dir' directory. Paths inside RIB files are modified to point into correct locations in the created package. Conflicting file names are changed in the package directory and the RIB files. Note that this copies all textures, shaders and archives necessary for the RIB to render; this could result in very large pacakges.
` -scale s'
If used with the `-package' option, packaged textures are scaled whenever possible to save disk space. Only scaling down is supported. This means that `s' must be smaller than 1. Deep shadow maps and cube environment maps are not scaled.
` -binary'
If used with the `-package' option, the copied RIB files will be binary encoded.
` -gzip'
If used with the `-package' option, the copied RIB files will be gzipped.
` -noshaders'
Causes ribdepends not to search for shaders.
` -notextures'
Causes ribdepends not to search for texture files.
` -nooutputs'
Causes ribdepends not to process the paths of output files (RiDisplay, RiMakeTexture, etc).
` -noprocedurals'
Causes ribdepends not to search for DynamicLoad and RunProgram procedurals. Does not affect the DelayedReadArchive procedural.
` -v'
Print version.
` -h'
Print this help.

The default behavior (when no options are given) is to list resources required for the proper rendering of the specified RIB file(s) (or standard input when no files are specified). Each dependency is prefixed by a character indicating its type:

[t]
Texture or shadowmap dependency. 3D textures (point cloud files) are also considered.
[s]
Shader dependency.
[x]
Procedural dependency
[u]
Unresolved dependency (could not find file on filesystem).
[o]
Output file (such as a file specified to RiDisplay or RiMakeTexture).
[c]
Conflicting dependencies that have the same name but different paths. These might be renamed in the package when using the `-package' option.

An example run on the example found in `$DELIGHT/examples/outputvariables' gives the following output:

% ribdepends toonStill.rib
[s] /users1/aghiles/software/3delight/shaders/ambientlight.sdl
[s] /users1/aghiles/software/3delight/shaders/pointlight.sdl
[u] matte_output.sdl
[o] toonStill-normals.tif
[o] toonStill-points.tif
[o] toonStill.tif

We can see that the `toonStill.rib' depends on two shaders and produces three output files. `matte_output.sdl' is listed as undefined because it has not been compiled.

Note that RiDelayedReadArchive is treated like a RiReadArchive. If procedurals are to be expanded instead, use renderdl with the `-callprocedurals' option as in:

% renderdl -catrib -callprocedurals somefile.rib | ribdepends

3Delight 10.0. Copyright 2000-2011 The 3Delight Team. All Rights Reserved.