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