Output geometry using terminals

Terminals are an alternative to output nodes for creating renderable geometry. They can be used in nested compounds, not just the top level of the graph.

Terminals have several output types: “Final” for the final renderable result, “Proxy” for a fast viewport representation, and “Diagnostic” for diagnostic viewing. By default only "Final" is included in a final rendering, but each type can be turned on and off individually. There are flags on compounds with nested terminals that let you toggle the outputs at any level of the graph.

Add and connect terminals

  1. Add a terminal node to the graph.

  2. Connect one or more renderable geometries to any or all of its inputs:

    • final is for the final offline render. Typically, this is the highest-resolution version of your objects. By default, these are not displayed in the viewports.
    • proxy is for viewport display. Typically, this is low-resolution geometry that you have created to give a useful preview of the final result while still allowing for fast interaction as you edit the scene. By default, these are not included in offline renders.
    • diagnostic is for special geometries that you may have created for particular purposes, for example, to visualize property values as colors. By default, these are displayed in the viewport but not included in offline renders.

Terminal node


Use final_mode_switch to return different values depending on whether the final sub-graph is being evaluated. For example, you can emit more particles when rendering than when displaying a proxy or diagnostic result in the viewport.

You can also create your own conditional compounds using final_mode, which returns true when the final sub-graph is being evaluated.

Control output and display of terminals

Two things control which Bifrost geometries appear in the scene:

Terminal node flags

The F, P, and D flags appear in a semicircle below terminal nodes and compounds that contain terminal nodes at any depth of nesting. Click on the flags to toggle the evaluation of the final, proxy, and diagnostic geometries off (dark gray) or on (white).

Changing the flags on parent compounds does not change the flags on the terminal nodes inside. Instead, the parent flags act like filters for the terminal nodes inside. For example, suppose that a compound contains two terminal nodes, one with the diagnostic output turned on and the other with it off.

bifrostGraphShape attributes

The attributes of the bifrostGraphShape node in Maya determine which of the available geometries from the graph appear in the viewport and offline renders. These attributes are available in the bifrostGraphShape's Terminals group in Maya's Attribute Editor.

Terminals attribute

The check boxes in the Viewport column control whether the corresponding geometry appears in Maya's viewports, and the check boxes in the Render column control whether it appears in the images from offline renderers such as Arnold.


In Maya versions prior to 2022, the render subgraph may be evaluated anyway (even though it's not displayed in the viewport) unless you select DG Evaluation mode in Maya's Animation preferences.