Parameters
diffuseColor: The color of the volume. The default value is white.
emitColor: The emissive color of the volume. The default value is black (the volume will not emit light).
multiScatter: If set to 0, and the integrator respects this hint, PxrVolume will only perform single scattering: points inside the volume will only be lit directly by light sources. If set to 1, points inside the volume will be lit by indirect illumination as well (light will scatter more than once inside the volume). This effect can be expensive and so defaults to 0 (off). Note that some integrators (e.g. PxrVCM, PxrUPBP) ignore this hint and always perform multiple scattering.
velocity: The velocity of the volume. Any non-zero value here (or a connection) will result in a heterogeneous volume.
velocityMultiplier: Multiplier on the velocity of the volume. This could be useful to convert between velocity defined per frame versus velocity defined per second.
densityFloatPrimVar: A primvar from the geometry which controls the density of the volume, unset by default. Setting this overrides the densityFloat input, and is more efficient than simply using a PxrPrimVar pattern connected to the densityFloat input.
densityFloat: The density of the volume directly controls how light is attenuated by the volume - i.e. it directly affects how the volume casts shadows. Unless you require colored shadows, you should prefer to set this parameter rather than the density color parameter.
densityColorPrimVar: A primvar from the geometry which controls the density of the volume, unset by default. Setting this overrides the densityColor input, and is more efficient than simply using a PxrPrimVar pattern connected to the densityColor input.
densityColor: The density of the volume, which directly controls how light is attenuated by the volume - i.e. it directly affects how the volume casts shadows. If you do not need colored shadows from the volume, then you should set the density float parameter and leave the density color parameter untouched; the volume will render more efficiently.
maxDensity: The max density parameter is only used by heterogeneous volumes and controls the step size used to sample the volume. For correctly unbiased rendering, the max density must be higher than any density encountered inside the volume. A high value of max density will result in slower renders since more steps will be taken to sample the volume. Setting the max density too small will speed up your render, but will also lead to incorrect rendering as dense regions of the volume will be undersampled. The default value of max density is -1.0, which means RenderMan will ignore this value and generate unbiased renders.
anisotropy:
Controls the direction in which volume scatters light in the primary lobe. Anisotropy has a range of -1
to
1
and the default is
0
(isotropic). A value of
0
for
anisotropy
means the volume is isotropic: light is scattered in all directions with equal probability. A value greater than
0
means the volume is forward scattering: incoming light has a higher chance of being scattered in the same direction (i.e. away from the incoming light). A value of anisotropy less than
0
means the volume is backwards scattering: incoming light has a higher chance of being scattered in the reverse direction (i.e. back towards the direction of incoming light).
anisotropy2:
Controls the direction in which volume scatters light in the secondary lobe. Anisotropy has a range of -1
to
1
and the default is
0
(isotropic). A value of
0
for
anisotropy
means the volume is isotropic: light is scattered in all directions with equal probability. A value greater than
0
means the volume is forward scattering: incoming light has a higher chance of being scattered in the same direction (i.e. away from the incoming light). A value of anisotropy less than
0
means the volume is backwards scattering: incoming light has a higher chance of being scattered in the reverse direction (i.e. back towards the direction of incoming light).
blendFactor:
Controls blending weight between the two lobes. Value of 0
means only the first lobe is active and value of
1
means only the second lobe is active. Values in between means both lobes are active.
equiangularWeight: The probability of equiangular sampling being used instead of density sampling. Equiangular sampling improves the convergence of volumes close to light sources, while density sampling can be a better technique when dealing with volumes with dense or highly varying density. The default value of 0.5 means both techniques will be used equally and combined with multiple importance sampling. If the volumes are dense and far away with light sources then decreasing the equiangular weight may result in better convergence.
samples: Controls the number of samples to take inside the volume per ray. The default is 4.
stepSize: Sets step size for ray marching in heterogeneous volume. Setting this parameter to low value may cause huge computational overhead, on the other settings this parameter to large value will change appearance of the volume in the wrong way. Only used when rendering with the PxrUPBP integrator.
multiScatterOpt: Controls whether MultiScatter Optimization is applied or not.
extinctionMultiplier:
Extinction multiplier is used in multiscatter as a way to modify the extinction coefficients for multiple scattering events. Extinction multiplier can be set to any value above 0, and the default is 1
which means no modifications. A value below
1
decreases extinction coeffients while a value above
1
increases extinction coeffients.
contributionMultiplier:
Contribution multiplier is used in multiscatter as a way to modify contribution from direct lighting for multiple scattering events. Contribution multiplier can be set to any value above 0, and the default is 1
which means no modifications. A value below
1
decreases contribution from direct lighting while a value above
1
boosts contribution from direct lighting.