Go to the first, previous, next, last section, table of contents.

## Using Mathematica to generate RenderMan files

In addition to the `WriteOOGL` and `Geomview` commands described above, the package ``OOGL.m'` also defines the command `WriteRI`b which writes a 3D graphics object to a RenderMan RIB file: `WriteRIB[file, graphics]` writes graphics to file file. RenderMan is a commercial rendering system available from Pixar, Inc., which can produce extremely high quality images.

    In[1] := <<OOGL.m

    In[2] := <<Graphics/Polyhedra.m

    In[3] := Graphics3D[Cube[]]

    Out[3] := -Graphics3D-

    In[4] := WriteRIB["cube.rib", %3]

    Out[4] := -Graphics3D-

This generates the file ``math.ri'`b. This is a ready-to-render RIB file of the given geometry, using a default camera position, lighting, and the "plastic" shader. In a shell window, type `render cube.ri`b to generate the image file ``mma.tiff'`. Of course, you need to have RenderMan installed for this to work. A shortcut to render from inside Mathematica is `WriteRIB["!render", foo]`.

`WriteRI`b works by first converting the Mathematica graphics object to OOGL format using `WriteOOGL` and then calls an external program ``oogl2ri'`b to convert OOGL to RIB format. The oogl2rib program takes several options which you can specify in a string as an optional third argument to `WriteRI`b. The default option string is `" -n mma.tiff "`, which indicates that the RIB file should generate a rendered TIFF file named ``mma.tiff'`. A particularly useful option is `-g`, which tells oogl2rib to convert only the geometry into a RIB fragment. You can insert that fragment into a full RIB file of your own making with camera positions and shaders of your choice, to harness the full power of RenderMan.

The full usage of oogl2rib is:

    oogl2rib [-n name] [-B r,g,b] [-w width] [-h height] [-fgb] [infile] [outfile]

By default it reads from stdin and writes to stdout. Either infile or outfile may be ``-'`, which means use stdin/stdout. The options are:

`-n name`
  Use name for the name of the rendered TIFF file (default "geom.tiff") or framebuffer window (default "geom.rib").
`-B r,g,`b
  Use background color (r,g,b). Each component ranges from 0 to 1. Default: none.
`-w width -h height`
  Rendered frame will be width by height pixels.
`-f`
  RIB file renders to on-screen framebuffer instead of TIFF file.
`-g`
  Output only the geometry in RIB format.
`-b`
  Output only a Quick Renderman clip object. Ignores -nBwhf.

Go to the first, previous, next, last section, table of contents.