User guide
224
Render nodes that depend on this render node require all of its outputs to complete before the next process is
launched.
• forceFarmOutputGeneration
Force this node to appear in the farm file submitted to the render farm regardless of whether it has any outputs.
• ExcludeFromFarmOutputGeneration
Do not include this node in the render farm file.
Although the parameters listed above exist for each renderable node, it is the responsibility of the writer of a Farm
Plug-in to chose whether and how to implement them.
Get Sorted Dependency List
The Farm API provides a function for obtaining rendering dependencies and minimal render pass and output file
information. This is all obtained via the GetSortedDependencyList() function, which returns a list of dictionaries,
with one dictionary per rendering node. Dictionaries are ordered so that each entry appears after its dependencies.
For example:
from Katana import FarmAPI, Callbacks
def displayOutputs(**kwargs):
renderNodeInfo = FarmAPI.GetSortedDependencyList()
print(renderNodeInfo)
def onStartup(**kwargs):
# For the Util menu
FarmAPI.AddFarmMenuOption("Display Outputs", displayOutputs)
# For the popup
FarmAPI.AddFarmPopupMenuOption("Display Outputs", displayOutputs)
Callbacks.addCallback(Callbacks.Type.onStartup, onStartup)
In a new Katana session, make a CameraCreate node and connect it to a Render node. When invoked,
displayOutputs() produces console text similar to the following:
[{'name': 'Render', 'service': 'prman', 'views': '', 'outputs': [{'outputLocation':
'/tmp/katana_tmpdir_9514/Render_rgba_square_512_lnf.#.exr', 'enabled': True, 'name':
'primary',
'tempRenderLocation': ''}], '2Dor3D': '3D', 'dependAll': 'No', 'range': None, 'deps':
[], 'memory': '',
'output': True, 'renderInternalDependencies': 'No',
'farmFileName' : '' }]
Get Sorted Dependency List Keys
Many of the keys produced by displayOutputs() mirror a FarmSetting parameter value:
28 RENDER FARM API | FARM MENU OPTIONS