ID 415828 - Adding renderer custom parameters to <Renderer>OutputChannelDefine nodes doesn't work when DEFAULT_RENDERER environment variable isn't set or doesn't match selected renderer

Follow

Problem summary:
When adding custom parameters (as defined in the RendererInfoPlugin) to <Renderer>OutputChannelDefine nodes, the node only queries the default renderer's RendererInfoPlugin for info about the custom parameter instead of the selected renderer or the one supplying the OutputChannelDefine node. If the current renderer doesn't match the default one (e.g. if the user hasn't set the DEFAULT_RENDERER environment variable and it remains at its default 'dl', but isn't using 3Delight), adding the custom parameter fails with the following error message:


[ERROR python.root]: A TypeError occurred in "OutputChannelDefine.py": argument 1 must be string, not None    Traceback (most recent call last):      File "Widgets/SortableParams.py", line 40, in __menuAction      File "OutputChannelDefine.py", line 669, in AddGroup    TypeError: argument 1 must be string, not None


Steps to reproduce:

  1. Launch Katana with Renderman loaded and the DEFAULT_RENDERER environment variable unset (so that it gets set to the default "dl").
  2. Create a RenderSettings node and set renderer to "prman".
  3. Downstream of the RenderSettings node, connect a PrmanOutputChannelDefine node and set its Edit flag.
  4. In the Parameters tab, click the "Add" button on the params parameter and select "filterwidth".


Expected behaviour:
A new filterwidth parameter is created on the node.

Actual behaviour:
No new parameter is created on the node and an error is logged in the console:


[ERROR python.root]: A TypeError occurred in "OutputChannelDefine.py": argument 1 must be string, not None    Traceback (most recent call last):      File "Widgets/SortableParams.py", line 40, in __menuAction      File "OutputChannelDefine.py", line 669, in AddGroup    TypeError: argument 1 must be string, not None

Workaround:
Ensure the DEFAULT_RENDERER environment variable is set to the renderer you wish to use.

Tested versions/platforms:

  • Katana 3.2v2 - Windows 10 - Affected
  • Katana 3.1v1 - Windows 10 - Affected
  • Katana 3.0v9 - Windows 10 - Affected
  • Katana 3.0v1 - Windows 10 - Affected (Parameters tab for the node does not function in this version at all due to ID:353687)
     
  • Katana 2.6v3 - Windows 10 - Unaffected

    We're sorry to hear that

    Please tell us why