Volume Collector

This shader is considered deprecated and will be removed in a future release. You should use the Standard Volume shader instead.

 

The Volume Collector has three color parameters called Scattering, Attenuation, and Emission which are simply used to set the scattering, attenuation and emission coefficients for the volume at the integration sample inside the volume. The (Henyey-Greenstein) Anisotropy parameter is an open interval (-1,+1) where negative values mean backward anisotropic scattering, positive values mean forward anisotropic scattering and zero means isotropic scattering.

Be warned that the evaluation of a shader network for volume rendering is much more expensive than for surface shading, because the shader network is called many times per ray, once per ray march sample. So, in a production environment, it's much better to have a single shader doing all the work, instead of relying on potentially expensive inputs.

Each component (scattering, attenuation and emission) has a source enum, that can be either "parameter" or "channel". On "parameter", the parameter value is used (e.g. scattering). On "channel", the channel (e.g. scattering_channel) is used, its value coming from the density plugin. In addition, the attenuation's source has a third option, called "scattering", in which case the scattering source (parameter or channel) is used. On selecting an enum value (say "channel" for the scattering source), the unused parameter is hidden from the interface. On selecting "parameter", the channel gets hidden. When only channel names are used, the Volume Collector is very similar in functionality to the Arnold core Density shader. Note that the Volume Collector is also fully compatible with the old volume API.

When a non-empty channel name is set, it takes precedence over the shader input. When only channel names are used, the Volume Collector is very similar in functionality to the Arnold core Density shader. Note that the Volume Collector is also fully compatible with the old volume API. 

For information about using the Volume Collector with the Volume VDB, click here.

If you need to further edit the result of the reading of a channel, for instance to color correct it, there are the Volume Sample RGB and Volume Sample Float shaders.

The Volume Collector only works with an objects bounding box (and internally bounding sphere).

 It is recommended that volume shading networks are kept as lean as possible. This is important for render times in the volume context because it is evaluated so often.

 

Scattering

Scattering Source

Scattering Parameter

This is the rate at which light is scattered (or reflected) at a given point. The greater the rate of scattering, the shorter the average distance a ray of light will travel through a volume before being bounced off of its course. Usually, the volume density is connected to this parameter.

Scattering Channel

When not empty, this channel will be used to sample the scattering values for the volume instead of the Scattering parameter.

The sampling tab has additional parameters to control how data is sampled from volume channels.

Scattering Color

A color to tint (multiply to) the scattering.

Scattering Intensity

A scale factor to adjust the scattering.

Anisotropy

Henyey-Greenstein Anisotropy coefficient between -1 (full back-scatter) and 1 (full forward-scatter). Default is 0 for an isotropic medium.

Note that values very close to 1.0 (above 0.95) or -1.0 (below -0.95) will produce scattering that is so directional that it will not be very visible from most angles, so such values are not recommended.

 

Attenuation

Attenuation Source

Attenuation Parameter

The rate at which the intensity of a ray traversing a volume is lost. 


Attenuation Channel

When not empty, this channel will be used to sample the scattering values for the volume instead of the Attenuation parameter. The sampling tab has additional parameters to control how data is sampled from volume channels.

Attenuation Scattering

Very often you want to use the same density field for both scattering and attenuation, modulo a factor. This parameter enables the reuse of the unmodified scattering value for the attenuation, avoiding a costly volume sample. Note that the same effect is achieved if the Scattering Channel and Attenuation Channel have the same non-empty value.

Attenuation Color

A color to tint (multiply to) the attenuation.

Attenuation Intensity

The rate at which the intensity of a ray traversing a volume is lost.

Attenuation Mode

The method of defining the volume attenuation characteristics.

Absorption

The intensity is lost due to absorption events only. The volume is guaranteed to conserve energy so it should work robustly no matter the lighting and GI settings, but can appear overly dark.

Extinction

The intensity is lost due to either scattering or absorption events. It is possible to obtain non-physically real scattering effects in the volume. More light will be scattered than what is actually attenuated by the volume. This is done by setting the attenuation coefficient to a value that is lower than the scattering coefficient. This can be useful to have more control over the brightness of a volume, but causes energy conservation issues which can become troublesome depending on the lighting setup and GI settings.

 

Emission

Emission Source

Ensure that the emission attribute is driven by a VDB grid. If it is a fixed parameter value you may get artifacts.

Emission Parameter

Emission is the rate at which a volume emits light at a given point. The light emitted by a volume is visible to GI. It will also be affected by any out-scattering or absorption effects in the volume. A heat (flames) grid would be connected to this parameter.  

Volumes can only receive indirect lighting from other emissive volumes when the Volume Ray Depth is above 0.


Emission Channel

When not empty, this channel will be used to sample the emission values for the volume instead of the Emission parameter. The sampling tab has additional parameters to control how data is sampled from volume channels.

Emission Color

A color to tint (multiply to) the emission.

Emission Intensity

A scale factor to adjust the emission.

 

Sampling

Position Offset

An object space offset to apply to the volume sampling position when using named channels to fetch the volume data. This is useful to displace the volume data.

You will need to connect a noise texture to the position offset to see any result.

Interpolation

The voxel interpolation to use when sampling the volume data using named channels.

 

 

 


 

Examples using the volume collector shader ('God rays' achieved using Volume Scattering).

  • No labels