1. Home
  2. Docs
  3. renderStacks
  4. Passgroup


Before renderStacks 2.0, the passgroup was just a way to group passes visually. Now you can add pmodifiers to passgroups and build a hierarchical override setup. With newly added pass instancing feature, you can easily build and manage hundreds of passes.

Pmodifier on passgroup

Let’s check a pass setup in the left image.

{g} Camera001 is a passgroup and it has beauty, beautyOrange, beautyRed, beautyPrv passes and a Camera pmodifier, [Ca] Camera001.

When you activate beautyOrange pass, this is the order of pmodifier execution

[Ca] Camera001 – pmodifier on {g} Camera001 passgroup
[ROV] Base_RenderOutputVRay – base pmodifier
[Rs] Base_Resolution – base pmodifier
[oP:hdri] Base_ObjParams:hdri – base pmodifier
[oP:invis] ObjParams:invis_On – pmodifier on beautyOrange pass
[Mtl] Material_001 – – pmodifier on beautyOrange pass

As you can see, pmodifier execution is always top-down. You start from the top level which is {g} Camera001 passgroup for beautyOrange pass. Then, if there is no local pmodifier, the base pmodifier for the type is used. Then, local pass pmodifiers again from the top to down.

What if you have the same type modifier on both the passgroup and the pass? The, the pmodifier on the pass will be used because that’s the lowest level of pmodifier. Remember always the lowest level and the most bottom pmodifier will be the chosen one.

When the multiple same type pmodifiers are in a pass, renderStacks indicates pmodifier to be ignored with the text color(black text pmodifier means this pmodifier is off and not be used for whatever reason). But, the color of pmodifiers in a passgroup will not be changed even tho it is ignored by a pmodifier in a child pass. Because a passgroup can have multiple passes and some pass might not have local pass pmodifiers.

For example, in the left image, [Ca] Camera001 wouldn’t be used since[Ca] Camera003 is at the lowest level and the most bottom in the pass. But, it is still has white text unlike [Ca] Camera002 because it is a in passgroup.

Ungrouping Passgroup

When you ungroup a passgroup., renderStacks will ask you what to do with its pmodifiers. To get the same render, you need to say Yes and keep those pmodifiers in each passes.

For example, this is before ungroup.

This is after. You can see the Environment_001 and Exposure_001 are moved to all children passes as instances.

Instanced Pass

In renderStacks, bold text means instanced just like 3dsMax. the left image shows that {g} Camera003 and {g} Camera004 has 4 instanced passes.

Instanced passes are exactly same pass that just happen to be in multiple passes. Whatever you do in a pass among instances will be applied to other instances such as adding/removing pmodifiers, changing value of pmodifiers and changing order of pmodifiers. Even color name name will be same!

!!! Since instanced passes are even sharing the same name, you can’t have instanced passes under same passgroup or root level. If you try to do so, renderStacks will warn you and cancel the task.

The pass setups in the left image shows, you can render exactly same set of passes for each cameras.

The tutorial has been updated for this new feature. Please check it!

6. Passgroup pmodifier

Passgroup Management

Since passgroup is adding one more depth to pass setup. The pass/passgroup management function also needed a lot of update. It could be confusing. So, please this documentation carefully!