modo bubbble logo

Render Passes

Home >> Shade, Light & Render >> Render Passes

back next

Render Passes offer users a way to control virtually any aspects of a scene that is, in-turn used to automatically produce multiple rendered images; each rendered image reflects all the settings of an individual pass. In their most basic sense, Render Passes are simply containers for Channel values. Users can add a 'Pass'; subsequent edits to the scene will then be stored within the current pass or passes. When the 'Render Passes' command is invoked, each particular pass of the 'Pass Group' will be rendered in succession and saved as specified. This way of working is simple, yet incredibly powerful, providing users a means to create rendered variations that were previously very difficult, if not impossible to do within a single scene.

Understanding Passes

Passes conceptually work as containers, these containers only hold channel values. 'Channels' are simply any attribute of an 'Item' that can be animated (not that they have to be, just that they can be). Users can learn more about 'Channels' by referencing that page of the documentation. Once these Channel values are created, they sit in their Pass container as a layer above the scene itself called the 'Setup' layer. When a Pass is selected, any values held in the Pass will replace those values of the 'Setup' layer below it. For example, a Cylinder could be colored Red at the Setup level, and a Pass could be created that changes the color to Orange, disabling the Pass would return the color to Red. When the passes were rendered, there would be two resulting images, one with a red cylinder and another with it orange. The layering of the channel values is an important aspect to understand, because there is also a layer in-between a 'Pass' and a scene called the 'Edit' layer, explained further on.

Basic Pass Workflow

Render Passes UI

The Render Passes UI (user interface) is found in the 'Render' interface tab. It is controlled mainly by the buttons above the default Properties viewport. The workflow for passes moves top to bottom, first with the 'Pass Groups' bank with a button to select the Group and a button to create a new group. Next the 'Passes' bank, also with a selector and a new button. Next are the "Auto Add", "Apply" and "Discard" buttons that further control pass creation.

Prior to creating any 'Passes', users will need to first create a 'Pass Group'. Pass Groups are simply collections of different passes, meant strictly as a organizational device. Users will be unable to create individual 'Passes' until a 'Pass Group' is defined and selected. To create a group, press the 'New' button and define a name in the Popup dialogue box. Press 'OK' accepting all other defaults.

PAss Group Dialogue

With the Pass Group created, it is automatically selected (as evidence of the named group replacing the (none) value); any passes created will be automatically added to that Group. So the next step is to create the 'Pass' itself. Pressing the 'New' button to the right of 'Passes' opens the Group Layer dialogue where the Pass itself is named. Once a name is entered, press OK to define the pass.

Passes Dialogue

Next is the editing of the Channel values themselves. With 'Auto Add' enabled (the default state), any changes made to any attribute automatically adds that attribute Channel to the currently selected pass. What this means is users can simply edit the scene and any modifications are automatically stored/saved in the pass. Disabling the pass, by returning the pass selection to '(none)' will return all the values to the underlying Scene state.

Tip icon

TIP: With the addition of Passes to a scene, complexity can increase exponentially, therefore is is important that users maintain a well organized scene, especially in relation to the Shader Tree.

Applying and Discarding

MODO's pass system conceptually works in layers, you have the bottom most base layer called the 'Scene' layer, this is the initial default state of any item as it is added to the scene, including Mesh items, Cameras, Lights and so on. The next layer is the most important, it is the 'Setup' layer, all attributes from any item in the scene as they are modified are stored at this level. Each named Pass exists as a layer above the Setup layer. For any channel values stored in the pass, when that pass is enabled, simply by selecting it, the stored values replace those of the Setup level values as long as the pass is active. However, when users select a pass and begins to make changes, a new layer is inserted between the current Pass and Setup layers called the 'Edit' layer. This is where the 'Apply' and 'Discard' buttons come in to play. When a modification is made to a scene with a pass active, the values don't go directly into the pass. They can be pushed into the pass by either exiting the pass, or pressing the 'Apply' button. Pressing the apply button allows users to continue making modifications, pressing discard will returned the values to either their previous state when the Pass was entered or when Apply was last pressed.

Render Passes APply Discard

Advanced Render Passes

Users can successfully use MODO's Render Passes and be blissfully unaware of what is going on in the background. For most users, simply using the 'Auto Add' function and then making normals scene modifications, MODO will automatically take care of all the technical details, as long as the proper Passes are selected when attributes are modified. However, if something does go wrong, a basic understanding of the mechanics of it can be helpful in resolving any issues that may arise.

Editing scene attributes for passes can be a highly controlled manual process or completely automatic, all depending on user preference. This is controlled by the 'Auto Add' button. The button is enabled by default. In order for a Channel value to be stored in the Pass container, the channel itself needs to be stored in the pass. What the 'Auto Add button does is simply places the channel of any modified attributes in the Pass. If users were to disable the 'Auto Add' function, then users would manually need to add the channels that they would wish to modify. This is done in the 'Groups' palette. Passes are actually a function of the 'Groups' palette, used to store the collections of channels and their resulting values. Anyone familiar with Groups will then understand why the dialogs that pop up are called 'Create Group' and 'Group Layer'. The Channels can be added by selecting them in the Channels viewport and dragging and dropping them into the Pass Group in the Groups viewport, or by using the 'Add Items' function found in the 'Groups' viewport itself. More information on working with Groups is available on that page of the documentation.

Passes Channels

There is also some additional information provided regarding pass states in the 'Channels' viewport. Down the right hand side of the viewport is a 'Source' column. When any pass is selected, and channel values are modified, the source column will say 'edit' telling users the current value is in the edit layer, it has not yet become part of the pass, and has been modified from the 'setup' level. When users apply those changes, pushing the values into the pass, then the source column will display the name of the pass. When the pass is disabled, the name will revert to 'setup', letting users know the current value for that channel is the base level. This can be very helpful in those instances where values were mistakenly applied in a pass that were meant for the scene, or vice-versa. By RMB+clicking on the channel to open the contextual menu, a number of options are provided to give users some ability to push those values around between the different layers.

Passes Menu

Remove Edits: The 'Remove Edits' option reverts the values to the last saved state, such as if a Render Pass was selected and then several edits were applied, prior to exiting the pass or pressing 'Apply', users could use the 'Remove Edits' command, returning the values to the initial state they were in when the pass was selected. This is the same function as the 'Discard' command.

Remove All: The 'Remove All' command removes all edits to the target channel reverting the values back to the initial default (Scene) state.

Move to Scene: Takes the current 'Edit' state value and pushed it to the Scene level.

Set Setup Value: Sets current channel values as the base Setup value and pushes value to render Pass.

Apply to Setup: Moves the current edit value to the 'Setup' layer, leaving any selected pass values unchanged.

Restore to Setup: Reverts the current pass value to that of the Setup.


Adding New Items

An important detail to understand is that Passes cannot contain Items, only channels, therefore any item that is added will be added at the Scene level (and subsequently becomes a part of all existing passes). If an item is added to the scene, it will need to be added at the 'Scene' level. If one were to accidentally add an item while a Pass was active, not to worry, the Channels list viewport offers functionality to move data in and out of the 'Setup' level of the scene, so all your hard work wont get lost.

Rendering Passes

Once the various passes have been created, in order to actually render the passes, users need only to invoke the 'Render Passes' command found in the menu bar under the 'Render' menu. Users can select a Pass Group and all of the contained passes will be rendered in succession and cached into the Render Display window. Users can utilize the 'Save As' function to save the image to their local hard drive. To automatically save images when rendered, users can utilize the 'Render Animation' command and determines the pass group for rendering in that dialogue where the files will save according to the settings of the 'Render Outputs' of each pass. File names will conform to the settings of the Render Items 'Output Pattern'. Additionally, Passes within a Pass Group may be enabled and disabled temporarily, controlling whether they will render or not. Users can disabled a Pass from rendering within a Pass Group in the 'Groups' palette by LMB+clicking the tiny camera icon in the 'Render State' column of that viewport. LMB+click the empty column slot to enable rendering for the Pass.



back next