Rendering RIB Files

Golaem Crowd provides 3 plugins for rendering from RIB files:
  • Golaem Crowd RenderMan plugin: this plugin is used to render Golaem Crowd's characters with Pixar's RenderMan. The plugin is installed under plugins/rendermanPlugin in Golaem Crowd's installation directory. The file name of the plugin is glmCrowdRendermanPlugin.dll (.so)
  • Golaem Crowd 3Delight plugin: this plugin is used to render Golaem Crowd's characters with 3Delight. The plugin is installed under plugins/3DelightPlugin in Golaem Crowd's installation directory. The file name of the plugin is glmCrowd3DelightPlugin.dll (.so)
  • Golaem Crowd RenderMan Compliant plugin: this plugin is used to render Golaem Crowd's characters with any RenderMan compliant renderer supporting the RunProgram procedural command. The plugin is actually an executable file installed under plugins/rendermanCompliantPlugin in Golaem Crowd's installation directory. The file name of the plugin is glmCrowdRendermanCompliantPlugin.exe (no file extension for Linux). To use this executable with a compatible renderer, the user must edit the RIB files exported with the Simulation Tool and replace the keyword "DynamicLoad" with "RunProgram".

The renderer executable is provided for compatibility with other RenderMan compliant renderers besides RenderMan and 3Delight. When using RenderMan or 3Delight, we recommend using the dedicated plugins as they offer better performance, especially when dealing with large crowds.

Adding Golaem Crowd Characters to a RIB Scene

Golaem Crowd only exports crowd related information in its RIB files. These files must be included in a RIB file describing a complete scene (camera, lights, geometry, etc.). The scene RIB can either be created from scratch or using a RIB exporter from Maya (recommended).
 
The Golaem Crowd RIB files can be included in the RIB scene using the ReadArchive command before the WorldEnd command.
 
For 3Delight, the following option must be used in the RIB scene file: Attribute "procedural" "reentrant" [0]
 
Here's a simple example of such a RIB scene file (this file was created for RenderMan.
For 3Delight ${RMSTREE} should be replaced with $DELIGHT):
 
##RenderMan RIB
#version 3.03

FrameBegin 3 # {
       Attribute "procedural" "reentrant" [0] # Mandatory 3Delight option, not to be used for RenderMan
       Option "searchpath" "string procedural" ["${RMSTREE}/lib/plugins:N:/plugins/rendermanPlugin/:@"]
       Option "user" "string plugin_depends" ["fbxsdk-2012.1.dll"]
       Option "searchpath" "string shader" ["${RMSTREE}/lib/shaders/:N:/shaders/:@"]
       Option "searchpath" "string texture" ["${RMSTREE}/lib/textures/:N:/textures/:@"]
 
       Display "scene.tif" "framebuffer" "rgba"
       Format 1280 720 1 # Picture Size
       Clipping 0.001 1000 # Camera Clipping Planes
       PixelSamples 4 4 # Smoothing Sample
       ShadingRate 1 # Shading Rate
       Shutter 0. 1. # Motion Blur
       Projection "perspective" "fov" 40 # Camera Persp
 
       Option "statistics" "endofframe" [1]
 
       Translate 4 -4 0.0
       Rotate -20 1 0 0
       Rotate 90 0 1 0
 
       WorldBegin
       # You should include your set, lighting,… here
 
       # include crowd RIB here
       ReadArchive "N:/crowd/export/rib/crowdScene.750.rib"
       WorldEnd
FrameEnd # }
 
As in the above example, you will most likely need to add extra commands that specify the location for
  • the Crowd renderer plugin: Option "searchpath" "string procedural"
  • its dependencies: Option "user" "string plugin_depends"
  • shaders: Option "searchpath" "string shader"
  • textures: Option "searchpath" "string texture"