This shader simulates light scattered by a thin, uniform atmosphere. It produces shafts of light and volumetric shadows cast from geometric objects. It works with point, spot, and area lights, but not with distant or skylights. This is a scene-wide volume shader (or an atmosphere shader in Arnold's terms).
- atmosphere_volume used to be called volumetric_scattering and should not be confused with volume rendering of fluid type objects.
- atmosphere_volume only works with 'local' lights that have a precise location and size and inverse-square decay. It does not support lights at an infinite distance, such as the Skydome light or directional light.
Currently, atmosphere_volume does not compose well against volumes. This is because atmospheres return a single flat result that is opacity mapped on top of whatever is in the background of the pixel.
Atmosphere Volume cannot 'penetrate' through the cloud volume
atmosphere_volume should be composited using an 'additive' mode such as 'screen' because volumetric scattering is the light that cannot be represented in the alpha channel.
Enable Matte enabled for standard_surface shader assigned to wall geometry (left). Atmosphere Volume render composited using 'screen' (right). Rollover images.
The example below demonstrates the effect of atmosphere_volume through a medium. It consists of a polygon plane with a circular ramp texture connected to the opacity of a standard_surface shader. The spotlight is pointing at the plane and atmosphere_volume is enabled.
Polygon plane with circular ramp texture -> opacity of a standard_surface shader
Increases/decreases the atmospheric volume density. The following images show the effect of altering density.
The samples are distributed according to the volume density. More samples will refine the quality of the solution.
Henyey-Greenstein Anisotropy coefficient between -1 (full back-scatter) and 1 (full forward-scatter). The default is 0 for an isotropic medium, which scatters the light evenly in all directions, giving a uniform effect. Positive values bias the scattering effect forwards, in the direction of the light, while negative values bias the scattering backward, toward the light. Changing the eccentricity, therefore, means that you will get a different effect depending on whether the camera is looking toward the light or away from the light.
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 (and what scattering you do see may be noisy), so such values are not recommended.
The attenuation parameter sets the rate at which the rays of light traveling through the scattering medium are extinguished and how much light coming from the background is blocked. A high value means that light will only travel a short distance through the volume, while a low value means that light will travel a long distance through the volume.
Controls the degree to which the atmosphere_volume affects camera rays.
Controls the degree to which atmosphere_volume affects GI_diffuse_rays.
Thin volumetric spotlight with a small cone angle
Controls the degree to which atmosphere volume affects specular rays.
The density control is multiplied by this RGB value (so a blue value here means the blue light is scattered).
It is also possible to map textures to this parameter to get interesting volumetric effects. The example below uses noise texture to simulate a cloudy fog effect.
noise -> color
The attenuation control is multiplied by this RGB value (so a red value here means red light is attenuated).