While most pmodifiers are non-accumulative pmodifier(means one only pmodifier of the same type will be used for a pass), there are some accumulative pmodifiers such as ObjPropsRender or ObjPropsDisplay.
Why this types of pmodifiers are allowed to be accumulative? Because some pmodifiers which deals with many object need to control subset of object for different properties.
For example, When you use ObjPropsRender pmodifier, you need to select all the object you possibly control in base pmodifier. But, you might want to control “Cast Shadow” for only some objects and “Visible to Camera” for other set of objects. Without the multiple accumulative pmodifier setup, you can not have this kinds of granular control.
When you use accumulative pmodifier, objects selection in base pmodifier becomes the start state for the pmodifier. You can only affect the objects selected in base pmodifier in a local pmodifier. If any object in the object selection for a local pmodifier that was not in object selection of base pmodifier would be ignored by the local pmodifier.
For example, you base pmodifier set to use only all spheres. But, your local pmodifier had set to use all geometries. In this case, only spheres will be used for the pmodifier since your base modifier object selection only has spheres.
New in 1.1, now accumulative pmodifiers have a status bar under object selection UI.
If the object selection of the pmodifier is within the selection of base pmodifer of the type, the bar will turn to green and say “Object selection is good”.
If the object selection of the pmodifier has objects which are not in the selection of base pmodifer of the type, the bar will turn to orange and say “x objs are not in base pmod”. These objects will not be used for the pmodifier.
If you have not select any objects in the base pmodifier, the bar will turn to red and say “Base pmod obj selection is empty”.