Go to Okino Home Page Contact Okino
Renderman RIB Exporter

The Renderman RIB geometry export converter writes out the scene database to a RenderMan RIB v3.1 compliant ASCII file which can then be read into other programs, or more likely, be sent off to PIXAR's RenderMan renderer or the BMRT renderer. The converter exports meshed geometry (with proper segmentation so that shaders are assigned properly), trimmed NURBS, bicubic patches, cameras, lights, embedded material definitions, texture creation commands and animation of frames. Automatic bitmap conversion or filename extension renaming is also performed.

The converter writes out a full RIB specification that can be read into a RIB compliant renderer and rendered immediately. The converter primarily outputs optimized indexed polygon arrays using the "PointsPolygon" and "PointsGeneralPolygons" primitives but will also output fully trimmed NURBS patches and (non-trimmed) bicubic patch primitives directly. For your information, Renderman renders trimmed NURBS patches incredibly fast! Camera and object animation data can also be output; a Renderman 'Frame' is output for each frame in the scene, with each frame containing the cameras and geometry translated to that frame's time.

 "Main" Panel Dialog Box Options:

Mesh Output:

Convex Polygons

If this radio button is chosen then all polygons will be output as convex polygons. All concave polygons with holes will be triangulated prior to output; the 'RiPointsPolygon' primitive will be used to output the mesh data.

Concave Polygons with Holes

If this radio button is chosen then all polygon data will be output without any modification to the 'RiPointsPolygon' primitive if all the polygons are convex, else the 'RiPointsGeneralPolygons' primitive will be used to output the mesh if it has holes or has concave polygons. This option has no significance is the data is being directly exported from 3D Studio MAX (in which all meshes are triangles).

Triangulate Polygons with 5 or More Sides

If this option is enabled (checkmarked) then polygons with 5 or more sides (polygons which are not triangles or quads) will be triangulated prior to being output to the RIB file.

Reverse orientation of all polygons and normals

If this option is enabled (checkmarked) then the orientation of all polygons will be reversed (this will effectively swap the orientation of the polygons' geometric normals).

Flip normals of all polygons

If this option is enabled (checkmarked) then the vertex normals of each polygon will be flipped.

Output NURBS Patches as Polygons

If this checkbox is checkmarked then any internal NURBS patches within the current scene database will be tessellated and output as polygon data. If this option is disabled (which is the default) then NURBS will be output to the RIB file as NuPatch primitives.

Output Bicubic Patches as Polygons

If this checkbox is checkmarked then any internal bicubic patches within the current scene database will be tessellated and output as polygon data. If this option is disabled (which is the default) then the patches will be output to the RIB file as PatchMesh primitives.

Line Terminator Type

See the common description on the 3DMF QuickDraw 3D Export Converter page.
 "Render" Panel Dialog Box Options:

The following options allow control the Renderman rendering process and where the finished image is to saved to disk.

Output to TIFF Image File

This browser allows you to select a filename for the TIFF image to be saved from the Renderman-compliant renderer. This filename will be stored in the RIB file as a 'Display' command. If no filename is selected then a default filename will be placed in the RIB file, but commented out.

Output Image Size

These options allow the output image resolution size to be set. The 'Current' radio button selects the resolution currently defined inside the scene database; the 'User Specified' radio button allows you to specify the X and Y resolution. The default is 640x480 pixels.

Image Anti-Aliasing

These options control the on/off state of the Renderman renderer's anti- aliasing state and how much anti-aliasing is performed.

Enable Image Anti-Aliasing

If enabled, the 'PixelSamples' RIB command will be output to the file using the number of samples shown on the dialog box. 2x2 samples should be used as a minimum.
 "Enables" Panel Dialog Box Options:

Output Mesh Geometry

If enabled, mesh geometry will be output to the RIB file.

Output NURBS Patches

If enabled, any trimmed or untrimmed NURBS patches will be output to the RIB file.

Output NURBS Trim Curves

If enabled, any existing trim curves associated with a NURBS patch will be output to the RIB file.

Output Vertex Normals (If Present)

If this option is enabled (checkmarked) then vertex normals will be output to the RIB file along with the mesh data.

Output (u,v) Texture Coordinates (If Present)

If this option is enabled (checkmarked) then texture (u,v) coordinates will be output to the RIB file along with the mesh data.

Output Cameras

If enabled, the currently selected camera will be output to the RIB file.

Output Lights

If enabled, all light sources will be output to the RIB file.

Output Shader References

If enabled, references to Renderman stock shaders will be output to the RIB file before each mesh primitive.

Output Texture Filename References

If enabled, any shader which has a 2d bitmap texture map assigned to it will be output to the RIB file using a 'paintedplastic' shader with the bitmap referenced via a 'texturefilename' attribute of the shader. If disabled, no filename will be output and the 'paintedplastic' shader will be replaced by the simpler 'plastic' shader.

Output BMRT Renderer Specific Commands

If enabled then commands specific only to the BMRT renderer will be output to the RIB file (such as options to enable shadow casting).

Output Verbose Texture/Material Info In Comments

If this option is enabled (checkmarked) then the RIB file will be embedded with detailed information about each texture definition and surface definition (material) that exists within the converter's internal 3d database. This information is completely meaningless to a RIB renderer and as such is encapsulated in a block comment. However, this information can be parsed by external applications (as a preprocessor stage prior to sending the RIB file to a RIB renderer) for use in attaching more powerful Renderman shaders to the exported RIB file. Please contact Okino Computer Graphics for more information about the format of each attribute within this comment block.

Output 'MakeTexture' Commands (for PIXAR's Renderman)

If this option is enabled (checkmarked) then MakeTexture commands will be output to the RIB file which are used to convert TIFF bitmap images into PIXAR Renderman's internal bitmap texture format. The MakeTexture command is not required by the BMRT renderer. If set to disabled then no texture mapping related information will be output.

Output RIB File(s) To a New Sub-Directory

If enabled (checkmarked) then the exported RIB files (and auto-converted bitmaps) will be saved to a new sub-directory which has the same name as the exported file. This is useful if you will be outputting one file per frame.
 "Auto-Convert Bitmaps" Panel Dialog Box Options:

Please refer to the common explanation in the Wavefront Geometry Export Converter page. These options allow any bitmap referenced by the internal scene to be converted to a specific image file format for the destination Renderman renderer; most RIB renderers use the TIFF image file format.

 "Bitmap Paths" Panel Dialog Box Options:

Please refer to the common explanation on the Wavefront Geometry Export Converter page. These options provide control over the filepaths placed on bitmap image filenames.

 "Animation Output" Panel Dialog Box Options:

The following options control the export of animation data to a Renderman RIB file.

Enable Animation Data Output

If enabled (checkmarked) then for each frame in the animation the camera and objects in the scene will be evaluated and a complete RIB file representation will be output for that frame time. Options are available to output a single file with all the frames or multiple files with one frame each.

Output One RIB File Per Frame

If enabled (checkmarked) then a separate RIB file will be written to disk for each frame of the animation. If disabled, only a single RIB file will be output will all the frames in it.

Frames To Render

These options control which frames will be output to the RIB file:
  • Current Time = Output a single frame at the current time.
  • All (start to end) = Output all frames in current range.
  • From XX to YY = Output from the start frame to the end frame.
  • Specific Type-In = Output a selected number of frames. Syntax looks like: "1-20, 35, 50-100, 102, 104, 105".

Render Every Nth Frame = #

This type-in value allows a number of frames to be skipped between successive frames. If set to 1 then all the frames specified in the 'Frames to Render' section above will be output. If set to 2 then every 2nd frame will be output, and so on.

Frame Rate = #

Internally, all animation data is stored in terms of time. However, RIB animation data is output in terms of frames. To convert from time to frames, this frame rate parameter is used. Common frame rates are 24fps (film), 25fps (PAL) and 30fps (NTSC video). If your animation is 1 second long, and 30fps is selected, then 30 RIB frames will be output.

Filename Numbering

If the 'Output one RIB file per Frame' option is chosen then the following parameters determine how the RIB files are numbered:

Number of Digits = 3 or 4

This option determines the number of digits assigned to the filename. If set to 3 then filenames will look like 'file_000.rib' else they will look like 'file_0000.rib'.

Label with Actual Frame Number

When frames are not output in succession (due to the above selective frame output options), enabling this checkbox will number the filenames with the actual frame number. If un-checkmarked, then the filenames will be labelled with a linear numbering scheme (1,2,3...) regardless of the actual frame number.

 Conversion Notes

  • If NURB or Bicubic patches exist within the converter's internal database then these will be written to the RIB file as "NuPatch" and "PatchMesh" primitives, respectively.

  • Any other primitives will be written as optimized indexed polygons using the "PointsPolygon" or 'PointsGeneralPolygons' primitives. If a polygon has holes then it will be triangulated unless the 'Output Meshes With Concave Polygons and Holes' option is enabled. If vertex normals, vertex texture coordinates, vertex colors or vertex opacity values are associated with the polygons then they will be output as indexed arrays as well ("N", "st", "Cs" and "O" RIB arrays).

  • If, within the converter's database, multiple materials are associated with a single object then this converter will explode such objects so that each exported RIB mesh primitive is associated with only one material definition.

 Limitations

  • The exported RIB file references only the "plastic" and "paintedplastic" default RenderMan shaders. This seriously limits the amount of material information that can be exported to the RIB file due to the simplicity of these shaders.

  • If more than one texture map is assigned to a surface then only the first one will be output in the file.

  • Texture mapping scale and offset parameters are not output to the RIB file due to lack of such parameters in the standard RIB shaders.

  • No light source decay is output because the standard RenderMan light source shaders do not support arbitrary decay.

 Other Copyrights and Trademarks

  • RenderMan is a registered trademark of Pixar.

  • The RenderMan Interface Procedures and Protocol are Copyright 1988, 1989, Pixar. All Rights Reserved.