Collecting nodes for rendering

Use the Node List Render Pass to filter and hold a list of 3D nodes that you want to render using other render passes.

../../_images/node-list-render-pass1.svg

The Draw Objects Render Pass and Draw Objects With Material Render Pass render passes draw 3D content in a scene.

By default the Draw Objects Render Pass and Draw Objects With Material Render Pass draw all the 3D content in a scene or the nodes provided by their nearest ancestor Node List Render Pass.

For example, in this render pass prefab the Draw Objects Render Pass by default draws the nodes provided by the Node List Render Pass:

../../_images/node-list-gather-lights-draw-objects.png

You can use any Node List Render Pass in the same Render Pass Prefab to provide nodes to a Draw Objects Render Pass and Draw Objects With Material Render Pass for rendering. To learn how to use filters to pass nodes to render passes, see Filters.

To set the Node List Render Pass that you want to use to collect 3D nodes for rendering:

  1. In the Library > Rendering > Render Pass Prefabs select the Draw Objects Render Pass or Draw Objects With Material Render Pass that you want to use to draw 3D nodes.

    ../../_images/draw-objects-render-pass-node-list.png
  2. In the Properties click + Add Binding, and in the Binding Editor set:

    • Property to Node List

    • Expression to point to the Output Node List property of the Node List Render Pass whose output nodes you want to render

      For example, to draw the nodes provided by a sibling Node List Render Pass of the Draw Objects Render Pass, set the Expression to:

      {@../Node List Render Pass/NodeListRenderPass.OutputNodeList}
      
    ../../_images/draw-objects-render-pass-node-list-binding.png