LuxCoreRender includes a flexible and powerful volume system that controls how light behaves when it moves through objects or the space in-between objects. With it you can create visible sun rays in a dusty room or orange juice or anything in between. Three types of volumes are available to simulate a wide range of volumetric effects.
Clear is a simple volume that features refraction and absorption. It is primarily meant to be used with clear materials, such as colored glass. It can also be used to add some extra realism to translucent materials with little performance cost. It has two properties, an index of refraction(IOR) and an absorption color.
This is the main color of the volume. It determines how light is lost(absorbed) as it passes through the volume, making the color darker and more saturated the farther it travels through the volume. Your exporter will have a Color at Depth setting which will make the volume match the absorption color at the depth you specify.
Index of Refraction
The refractive properties are defined by the IOR value. Your exporter will have some preset ready for the most common volumes. It's important to note that the only material that will use this IOR setting is glass. The other transmissive materials(null, matte translucent and glossy translucent) do not support refraction.
The homogeneous volume represents a volume with an even distribution of microscopic particles. It can be used for subsurface scattering (SSS) such as milk or orange juice. It can also be used for atmospheric scattering such as a dusty room with visible sun rays.
Please note that atmospheric scattering is very light. Set Scattering Color to full white and try setting Scattering Scale to 0.001. To simulate it efficiently, you should keep multiscattering disabled in your exporter. This will greatly reduce the noise in the scene. Multiscattering should be used with heavy scattering volumes, such as milk or orange juice. Homogeneous uses the same index of refraction and absorption parameters as the clear volume. In addition to those, it has two extra parameters, scattering color and scattering asymmetry.
The scattering color determines the color and density of the particles. Higher values are denser. This control can also affect the color of your volume, but that will be determined primarily by the absorption color.
While the scattering color has red, green, and blue values, it is not limited to this range. You can specify values higher than 1 (pure white). In fact, for heavy interior volumes you will often need to use values in the 30-1000 range. To help deal with this wide range of values, your exporter will present you with a set of RGB values and a "scale factor" that the RGB values will be multiplied by.
The asymmetry value determines the scattering direction. A positive value is primarily forward scattering (light is scattered in the same direction as the ray was traveling) and a negative value is backwards (back towards where the ray came from). Clear particles have a more forward scattering and opaque particles a more backwards scattering. The default value 0 scatters light evenly in all directions.
The heterogeneous volume is the most powerful (and also the slowest) of the three volume types. It has the same functionality as the homogeneous volume, but it also includes ray-marching support. This means it can deal with volumes with varying internal properties, such as clouds, smoke, and ground-hugging fog. It has the same properties as the homogeneous volume, with one extra setting, step size.
The heterogeneous volume can be used as the exterior volume as well, although this comes at a substantial performance cost (even when not using multiscatter) and is not recommended in most cases.
The clear and homogeneous volumes evaluate volume properties only once as it enters the volume. They assume these properties hold constant all the way to other side of the volume. For volumes that are continuous, this is a helpful optimization. However, if the volume is not continuous (such as a cloud), this causes blurred details and the edges of the volume container to become visible. In order to handle changing details, heterogeneous subdivides the volume transit path into several sub-paths (a process known as ray-marching) and evaluates the properties again at each sub-point.
Step size defines the spacing between the ray-marching sub paths, in meters. Smaller steps will show greater volume detail, but are slower to render. Setting too large of steps may result in a blocky or noisy appearance of the volume.
Volumes have a priority setting, which is an integer number.
In regions where volumes overlap, the volume with highest priority is chosen and replaces all other volumes.