The Volume Combine SOP combines multiple volumes or VDBs into either a new volume or VDB, or layers on top of an existing volume.
The name of the volume to write to. This can be an existing volume or VDB, and can also be one of the volumes used as a source.
If it doesn’t exist, default is to create a copy of the first volume or VDB in the Combine list. This behavior changes depending on the Create Destination Volume as Scalar and Create Missing Destination parameters.
Number of Combines
Whether to perform this combination. If disabled, the combination is not applied.
How to combine the processed source voxel with the current destination voxel to get the candidate for blending.
The source value is the candidate, the destination voxel value is ignored.
The sum of the source value and the destination voxel.
Subtract the source value from the destination voxel.
Multiply the source value with the destination voxel.
Divide the destination voxel by the source value.
Use the largest of the destination voxel and the source value.
Use the smallest of the destination voxel and the source value.
Adjustments to the source value prior to mixing into the current destination. This can save the need to pre-process volumes to get them into the correct range.
No adjustments are performed.
The source volume is scaled.
Scale + Add
The source volume is scaled, and then an offset is added to it.
Scale + Add + Process
The source volume is scaled. Then an offset is added to it. Finally, a processing operation is performed.
Source volume to apply. If the destination volume is scalar, the length of the source volume is used. If the destination volume is a vector and the source a scalar, it is extended by replicating the value.
If blank and no source volume is specified, an implicit zero volume will be used as the source. The Add parameter can then be used to set the value of the source, allowing the setup of constant-value operations and blends.
The source volume is scaled by this to get the source value. This is done prior to the addition or processing steps.
The scaled source volume has this added to get the source value. This is done prior to the processing step.
After scaling and adding to the source volume, the source value is finally processed with this operation. The result of this is then applied using the operation selected.
No processing is performed.
The value is inverted. 1/0 is set to 0.
The value is clamped into the range 0-1.
Complement and Clamp 0-1
The value is complemented (subtracted from one) and then clamped to the range 0-1.
If the value is strictly greater than 0.5, it is set to 1. If less or equal, it is set to 0. This can be used to do a hard-mix.
The final computed source value; after mixing with the current destination volume using the operation, is blended into the new destination volume. This is a linear interpolation using this scale factor, zero will leave the destination unchanged and one will replace it with the computed value. The final blend amount is clamped to 0-1.
Use the blend scale alone, so all the voxels receive the same blending amount.
Vary the blending per element using this volume. If the volume is not scalar, its length is used.
An attribute to provide per-voxel blending amounts. Zero will leave the destination unchanged and one will replace with the computed value. However, this is scaled by the Blend parameter, and clamping is done after the scaling. So if the blend attribute isn’t in a 0-1 normalized range the Blend parameter can be used to scale it appropriately.
Post processing is done to all of the voxels. This does not depend on any of the blend settings - even if an voxel was untouched by the earlier combines, it will still be processed by this.
Scale the resulting value by this amount.
Thresholding allows a continuous attribute to be switched to an on/off values depending on if it crosses a threshold value.
If the voxel exceeds this threshold value, replace it with the maximum clamp value. If it is below or equal to it, replace with the minimum clamp value. For vector volumes, this is done per component.
Enable clamping of the final value by the minimum value.
The minimum value to clamp to (or threshold to).
Enable clamping of the final value by the maximum value.
The maximum value to clamp to (or threshold to).
Create Missing Destination
If the destination volume doesn’t exist, try to create it by matching the first of the source attributes.
Create Missing Destination as Scalar
If the destination volume does not exist always create a scalar volume. This has the effect of making an implicit length computation for all source vector volumes.
Delete Source Volumes
Remove all the source volumes after processing, unless one of them is also the destination volume. Useful for cleaning up temporary volumes that were created to assist in computation.
Error on Missing Volumes
If specified volumes other than the destination are missing, raise an error. If erroring is disabled; missing source volumes will cause that combination to be skipped as if it were disabled. Missing blend volumes will be treated as if the blend volume was 1.0 everywhere.