Aggregate Volumes can decrease the render time for volumes by combining them into a single structure for the renderer to process. To get started with aggregate volumes in RfK, there are two steps: setting the aggregate name on the volume primitives and specifying a matching aggregate name in the integrator.
Step One: Group volumes into aggregates with PrmanObjectStatements
First, add the volumes to the CEL group of PrmanObjectStatements. The volume locations can be added directly to the CEL, added via a custom expression, or set on an ancestor location (like /root) and inherited.
Next, specify the aggregate name with the prmanStatements.primAttributes.volume.aggregate attribute. To begin with, give all volumes in the scene the same aggregate name. Volumes without an aggregate name will render, but will not be part of the aggregate structure.
Step Two: Specify volume aggregate name in the integrator
PxrPathTracer has four parameters related to aggregate volumes. In the simple case, you'll only need to set the global "Volume Aggregate" parameter. But since the standard visibility attributes don't work within a volume aggregate, you may run into cases where you need to specify separate aggregate names for each type of visibility (camera, indirect, and transmission). These can be specified in the other three override parameters. If there is no aggregate specified in the integrator, or if the aggregate name specified in the integrator does not match the name set on a volume, the volume will not render.