Standard Volume
![]() |
|
Cloud rendered with Redshift - Asset Courtesy of Walt Disney Animation CC BY-SA 3.0 License |
The Standard Volume shader is a physically based shader designed to render heterogeneous volumes like clouds, smoke, fire, and explosions. It combines an easy to use interface and controls while enabling greater flexibility and artistic control with the introduction of programmable volume shading. The Standard Volume shader accepts external shader inputs allowing for the creation and control of procedural volumes or the modification and displacement of existing volume grids.
The shading components of a volume shader are mainly driven by grids of voxel data contained inside a volume object, like an OpenVDB file. Volume grids may also be referred to as channels, particularly in a shading context, and Redshift uses the channel terminology when referencing a VDB grid in a volume shader.
For more information on OpenVDB files, example VDBs, and loading them into your scene please see the Volume Object page.
OSL does not currently work with volume shading.
Speed and Simplicity
If speed is what you need, the Standard Volume shader supports a special mode when no external nodes are attached making it faster and more optimized. This can be achieved simply by using the built-in Volume Channel and Emission Channel fields to import your volume grids. In this mode, it behaves very similarly to the classic Volume Shader but with more intuitive controls.
Displacement
The Standard Volume supports displacement by using the Position Offset parameter in a Volume Scalar Attribute or Volume Color Attribute node, this allows you to move existing voxels in a grid around the scene.
Volume displacement is always limited by a volume's bounding box. Volume Padding, an option found on a Redshift Volume Object, can be used to expand the volume bounding box allowing for greater volume displacement.
Increasing Volume Padding |
Volume grids loaded into the built in Density and Emission Channel fields can mask out displaced scattering or emission voxels. It is generally recommended to leave these fields blank if you intend to displace your volume with external inputs because any empty voxel has a value of 0 and the built in channels are multiplied with the rest of the shader. Multiplying any displaced voxel with a value of 0 will return a value of 0 and therefore you will not be able to see those displaced voxels, making it appear like displacement is not working.
A basic example node graph depicting displacement and programmable volume shading is pictured below. It uses:
-
A Volume Scalar Attribute node to load a density channel and directly drive the Standard Volume's density input. The density node is displaced by a Maxon noise for added detail.
-
The Density Channel built into the Standard Volume is left blank so it cannot mask the displaced density voxels.
-
-
A Volume Scalar Attribute node to load a temperature channel and directly drive the Standard Volume's temperature input. The Output Max is set to 6500 to set the temperature appropriately.
-
The Emission Channel built into the Standard Volume is left blank so it cannot mask the displaced temperature voxels.
-
-
A Maxon Noise remapped by a color ramp to create a colorful pattern throughout the volume.
![]() |
Volumetric Multiple Scattering
The look and shape of a volume is heavily dependent on how it interacts with light. When a light photon enters a cloud it makes contact with the different molecules that make up its composition and then scatter around inside the medium. Clouds are mostly made up of water and ice molecules which results in a lot of scattered light, thick cumulus clouds can even reflect up to 90% of incoming light.
Volumetric multiple scattering simulates this phenomenon to create much more realistic volume renders. In Redshift, this is controlled by the Volume Trace Depth parameter which is found in the Render Settings. Increasing the volume trace depth allows a light ray to scatter and bounce around more often inside a volume, this leads to brighter and more realistic volume renders at the expense of longer render times. The impact multiple scattering has on the look of a volume depends on the shader parameters.
Volume multiple scattering is only compatible with Brute Force global illumination. If point based global illumination methods (Irradiance Cache or Irradiance Point Cloud) are used for the primary or secondary GI engine, ray traced global illumination (Brute Force) is automatically used for all volumes in the scene — the remaining objects will use the point based GI methods.
In the example images below, you can see how increasing the volume depth significantly changes the look of a cloud. Clouds have a heavily forward scattering (positive anisotropy) nature which results in more light being driven deeper into the volume rather than reflecting back out, because of this, each successive volume bounce carries more light energy than a volume that is more isotropic which scatters light more evenly in all directions.
![]() |
![]() |
![]() |
![]() |
Volume Trace Depth: 1 | 3 | 11 | 31 |
Asset Courtesy of Walt Disney Animation CC BY-SA 3.0 License |
Smoke, by comparison, tends to scatter far fewer times as it is more isotropic (anisotropy closer to 0) and therefore sees diminishing returns as volume trace depth is increased. The difference between a trace depth of 11 and 31 is minimal with the demo example compared to the cloud images above.
![]() |
![]() |
![]() |
Volume Trace Depth: 1 | 11 | 31 |
Multiscattering Demo Scene
![]() |
An updated demo scene created by Saul Espinosa that uses the Disney cloud VDB and the Standard Volume shader is provided below as a starting point for better understanding the effects of multiple scattering and other volume shader parameters.
Redshift Cloud Multiscatter Demo.zip (65 MB)
Download Contents:
-
Scene files for 3ds Max, Blender, Cinema 4D, Houdini, and Maya using the Standard Volume Shader
-
Scene files for 3ds Max, Blender, Cinema 4D, Houdini, and Maya using the classic Volume Shader
-
HDRI dome light texture by Saul Espinosa
-
Example PNG renders
Cloud VDB must be downloaded separately at Walt Disney Animation - Data Sets and the "wdas_cloud_half.vdb" should be placed in the same folder as the downloaded scene files.
The Redshift demo volume VDB (242 MB) can also be added to this scene and used.