RenderMan Look Files

RenderMan Look Files

RenderMan Look Files (RLF) are a new asset file introduced in RMS 4. This new asset file is used to specify how shaders are bound inside the corresponding RIB files. Previously, RMS would have specified this by burning almost all information into the RIB stream, which is a barrier to reuse and doesn't integrate well in production pipeline settings.

Here are some important things to remember about RenderMan Look Files:

  • Created automatically by RfM
  • Live on disk next to an associated RIB file(s)
  • Used at render time by the RLFInjector Rif
  • Contain payloads of shaders and Ri stream edits
  • Contain rules controlling the use of their payloads
  • Stored in JSON format
  • Use the .rlf file extension
  • Have a Python module for manipulation outside of an RfM/Maya context, intended for pipeline integration

RenderMan Look Files live alongside RIB files. They are associated by having the same name as the RIB file, but a different extension. Any RIB file may have an RLF associated with it. The information inside the RLF is applied to the RIB file in a just-in-time fashion by the RLFInjector Rif.

RLFs are stored in a machine- and human-readable JSON format. They contain two kinds of information:

  • First (and optionally), there are rules. In a statically bound case there will be no rules.
  • Second, there are payloads. Payloads may contain small chunks of RIB to be inserted or they may contain parameter values to edit existing values passed to certain Ri requests.

The Ri calls that can have their parameters edited via an RLF payload include Surface, Shader, and Attribute. Payloads are stored in a dictionary-like fashion, each with a unique key. In a static binding mode that key is delivered to the Rif and is used to simply lookup which payload to insert. Each dynamic binding and edit rule has as its output one of these keys, which again select the payload when and if the rule fires.

RfM automatically creates RLFs and required payloads are included. In addition to payloads, rules that the user has created in the scene file are also written out to the Look File.