This page describes the Environment Fog feature in V-Ray.

 

Page Contents

 

Overview


VRayEnvironmentFog is an atmospheric effect that allows the simulation of participating media like fog, atmospheric dust, and so forth. Volumetric properties can be determined by 3D texture maps. The atmospheric effect can also be confined to geometry objects.  

VRayEnvironmentFog can use either of two algorithms to calculate volumetric lighting. The first algorithm is a simple exponential sampling scheme, which is used when there are no texture maps specified. In this mode, VRayEnvironmentFog takes a number of random points inside the volume and calculates the volumetric lighting at those points. The second algorithm is a raymarching scheme, which is used when any of the volume properties are mapped with a texture. In that case, VRayEnvironmentFog traverses the fog volume in small steps, calculates the volume properties at each step, and computes the volume lighting accordingly.

To set up a fog container, set the VRayEnvironmentFog as a volume material in the shading group for the container object. Set the Opacity of the surface material to black.

Note: Earlier versions of V-Ray supported disabling the Primary Visibility of the fog container object. However, this method is deprecated, and starting with V-Ray 3.6, the recommended setup is to make the Opacity of the container object Black.

 

 


 

UI Path: ||Hypershade|| > Create panel > VRay section > Volumetric > VRay Environment Fog


Common


 

 

 

Enabled – Enables or disables the VRayEnvironmentFog.

Color – Defines the color of the fog when it is illuminated by light sources. You can also use a texture map to drive the fog color. For more information, see the Color example below. 

Emission – Controls the fog emission (self-illumination). You can use this parameter to substitute the ambient illumination inside the fog, instead of using GI. For more information, see the Emission example below. 

Emission Multiplier – A multiplier for the Emission parameter.

Fog distance – Controls the fog density. Larger values make the fog more transparent, while smaller values make it denser. For more information, see the Fog Distance example below. 

Fog density – A multiplier for the Fog distance parameter that allows a texture to be used for the density of the fog.

Fog height – If the fog is not contained within a volume, it is assumed to start from a certain Y-level height and continue downward indefinitely. This parameter determines the starting point along the Y-axis. For more information, see the Fog Height example below. 

Subdivs – Determines the number of points inside the fog at which volumetric lighting is evaluated. Smaller values for this parameter render faster but may produce noise in the image. Higher values render longer, but with less noise. It is only used when there are no texture maps specified, in which case the volume properties are the same everywhere. For more information, see the Sampling Parameters example below. 

Affect background – When disabled, the background will not be obscured by the fog.

Light Mode – Allows you to specify which lights will be considered when rendering the environment fog. It is used when you have certain lights affecting just specific objects in the scene while another group of lights is affecting the environment fog.

No lights – The lights in the scene will not affect the environment fog.
Use shape lights(default) – The lights attached to the environment fog set will be ignored. Only the lights affecting the shape where the fog resides will be used.
Override shape lights – Only the lights affecting the environment fog set will be considered.
Intersect with shape lights – Only lights that are affecting both the shape and the environment fog set will be considered.
Add to shape lights – Both lights that are affecting the shape and the environment fog set will be considered.

For more information, see the Volumetric Caustics example below. 

Ior – Index of Refraction for the volume, which describes the way light bends when crossing the material surface. A value of 1.0 means the light will not change direction.

 

 


 

Example: Color

 

This example demonstrates the effect of the fog Color. Note how color only changes the way the volume reacts to light, and not the volume transparency. In this example, the fog density is mapped with a checker texture. A polygon box has been used to confine the fog volume with the VRayEnvironmentFog set as the Volume material in the shading group of the box. The opacity of the boxes Surface material has been set to be 100 transparent by changing its Opacity Map to a black color. This means the Surface material has no contribution to the shading of the box, only the VRayEnvironmentFog material.

 

 

 

 

 

 

In the following examples, the fog Color has been mapped with a texture. World XYZ mapping type was used for the textures.


 


A Gradient Ramp texture with Solid interpolation

 


A Noise texture

 

 



 



Example: Fog distance

 

This example demonstrates the effect of the Fog distance parameter. Note how larger values make the fog more transparent. A polygon box has been used to confine the fog volume with the VRayEnvironmentFog set as the Volume material in the shading group of the box. The opacity of the boxes Surface material has been set to be 100 transparent by changing its Opacity Map to a black color. This means the Surface material has no contribution to the shading of the box, only the VRayEnvironmentFog material.


 


Fog distance is 4.0

 


Fog distance is 16.0

 


Fog distance is 64.0

 

 

 
In the following examples, the fog density has been mapped with a texture. World XYZ mapping type was used for the textures.
 


No texture

 


Checker texture

 


Regular Noise texture

 


Inverted turbulence Noise texture

 




 


 

Example: Emission

 

This example demonstrates the effect of the Emission parameter. The Fog color is gray so as to better show the effect of the emission. Note that since we also have GI enabled, the fog emission causes the volume to illuminate both itself and other objects around it. The fog density is mapped with a Checker texture. A polygon box has been used to confine the fog volume with the VRayEnvironmentFog set as the Volume material in the shading group of the box. The opacity of the boxes Surface material has been set to be 100 transparent by changing its Opacity Map to a black color. This means the Surface material has no contribution to the shading of the box, only the VRayEnvironmentFog material.
 

 


Emission is black (no emission)

Color is gray

 


Emission is dark blue

Color is gray

 


Emission is dark blue, Color is black 

(Only the fog emission affects the image.)

 

 

 


In the following examples, the Emission has been mapped with a texture. The Color is gray to better show the light scattering inside the volume, produced by the global illumination. The scene for the last image is available here.

 

 


Emission is mapped with a Gradient Ramp texture

 


Emission is mapped with a red Noise texture

 

 

 




 



Example: Fog height


When there are no geometry nodes connected to VRayEnvironmentFog, the volume occupies space downward from a certain height along the scene Z-axis, determined by the Fog height parameter. The following examples demonstrate this. Note that as the Fog height is increased, the scene becomes darker - this is because the sun is blocked by a larger amount of fog. This can be corrected by increasing the Fog distance parameter and thus making the fog more transparent. Note also the sudden decrease of brightness when the camera is included inside the fog volume.   

 


Fog distance = 40
Fog height = 20

 

Fog distance = 40
Fog height = 40

 


Fog distance = 40
Fog height = 100

 


Fog distance = 40
Fog height = 200

 

 

 


Fog distance = 200
Fog height = 20

 


Fog distance = 200
Fog height = 40

 

Fog distance = 200
Fog height = 100

 


Fog distance = 200
Fog height = 200

 

 




 

Example: Sampling parameters (without textures)



When no textures are used, VRayEnvironmentFog uses a simple sampling algorithm where samples are distributed according to the volume density. The only quality parameter for this sampler is the Subdivs parameter.
 

 


Subdivs is 1

 


Subdivs is 8

 


Subdivs is 16

 

 

 

 


 

Example: Volumetric Caustics


This example demonstrates volumetric caustics and colored shadows with different settings.

 


Caustics are off, Affect shadows for the sphere material is off

 


Caustics are off, Affect shadows for the sphere material is on

 

Caustics are on

 


Caustics are on, and the fog density is mapped with a Smoke texture

 

 


The quality of the volumetric caustics depends on the sampling of the volume fog, on the V-Ray caustics settings, and the caustics settings for the light. In the first two images below, all parameters are same with the exception of the caustics subdivs for the light. Note how the more photons are shot, the more defined the caustics are. In this example, we also have the caustics Max. density parameter set to 0.3 in order to limit the photon density in the caustics map. This saves memory and makes the rendering faster, although it will limit the spatial resolution of the caustics (in our case, to 0.3 scene units).

 

 

The light has 100 Caustics subdivs (10,000 caustics photons are shot).

 

The light has 500 Caustics subdivs (250,000 caustics photons are shot).

Note the broken caustics beam - this is not because there are not enough
caustics photons, but because we don't have enough samples for the fog itself.

 

The light has 500 Caustics subdivs again, but the fog Subdivs parameter is set to 32.

Note the improved sampling of the caustics beam.

 

 

 

 


 

GI (Indirect illumination)


 

 

Scatter GI – When enabled, the fog will also scatter global illumination. Note that this can be quite slow. In many cases, global illumination within the fog can be substituted with a simple emission term. When this option is enabled, the currently selected global illumination algorithm in the V-Ray settings will be used to accelerate GI inside the volume (e.g. the irradiance maplight cachephoton map or brute-force). For more information, see the Scatter GI and Scatter bounces example and the Importance of GI example below. 

Scatter bounces – When Scatter GI is enabled, this controls the number of GI bounces that will be calculated inside the fog.

 


 

Example: Scatter GI and Scatter bounces


This example demonstrates the effect of the Scatter GI and Scatter bounces parameters. Note how multiple scattering of light inside the volume greatly increases the realism of the image.

 

 


GI is off in the V-Ray settings.
The fog volume only shows direct lighting.

 


GI is on, Scatter GI is off.
The fog does not scatter GI and so looks identical to the left image (it is lit with direct light only).

 


GI is on, Scatter GI is on, Scatter bounces is 1.
Notice how the fog volume is affected by the skylight. Brute Force was used for the primary GI engine.

 

 


 

 


GI is on, Scatter GI is on, Scatter bounces is 2.
Brute Force + Light Cache GI for secondary bounces

 


GI is on, Scatter GI is on, Scatter bounces is 4.
Brute Force + Light Cache GI

 

 

 


GI is on, Scatter GI is on, Scatter bounces is 8.
Brute Force + Light Cache GI

 


GI is on, Scatter GI is on, Scatter bounces is 100.
Brute Force + Light Cache GI

 

 






 

Example: Importance of GI

 

GI scattering is especially important when creating cloud-like volumes. For example, compare the following two images, done with and without GI scattering.

 

 

 


Global illumination is off

 

Global illumination is on with Scatter GI on and Scatter bounces set to100

 

 

 

 

The following example shows GI scattering inside a smoke volume. The volumetric textures (density and emission) for this example are provided from a fluid dynamics simulation in the form of 3D textures. Note how GI scattering causes the smoke to be naturally illuminated by the fire in the second row of images.  

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Raymarching


This sampler is used when any of the fog properties (color, density or emission) is mapped with a 3d texture. The sampler steps through the volume, evaluating volumetric textures and lighting, until it leaves the volume (if the fog is contained within a volume), or until the accumulated volume transparency falls below a certain cut-off threshold, or until a specified number of maximum steps is reached.

 

 

 

Step size – Determines the size of one step through the volume. Smaller steps produce more accurate results but are slower to render. In general, dense volumes require smaller step sizes than more transparent volumes. In practice, step sizes that are two to three times smaller than the Fog distance parameter work well.

Max steps – Specifies the maximum number of steps through the volume.

Texture samples – Determines the number of texture samples for each step through the volume. This samples textures more accurately than the volumetric lighting. It is useful in cases where the textures vary much faster than the lighting itself (e.g. for detailed fractal textures). For more information, see the Texture samples with Ray marching example below. 

Cut off threshold – Controls when the raymarcher will stop traversing the volume. If the accumulated volume transparency falls below this threshold, the volume will be considered opaque and tracing will be aborted. Higher values make the rendering faster but may introduce artifacts.

Deep Output – Toggles writing deep data to the file. Note that enabling this option will force ray marching even for simple volumetrics which can cause slower rendering.

 

 


 

Example: Step size with ray marching

 

When any of the parameters (density, color or emission) is mapped with a texture, VRayEnvironmentFog uses a raymarching algorithm to compute the intersection of a ray with the volume.

The following examples demonstrate the effect of the Step size parameter. A Box is used to confine the volume, and the density is mapped with a Checker texture. Note how smaller values cause less noise and smoother shading of the volume. Note also that more dense volumes require smaller values of the Step size parameter in order to produce a smooth result compared to more transparent volumes. In general, values for the Step size that are 2 to 3 times smaller than the Fog distance parameter work okay in most cases.

In the examples below, the Fog distance parameter is 5.0.

 

 


Step size is 1.0

 


Step size is 2.5

 

 

 


Step size is 5.0

 


Step size is 10.0

 

 


In the examples below, the Fog distance is 20.0.


 


Step size is 4.0

 


Step size is 10.0

 

 


 


Step size is 20.0

 


Step size is 40.0

 

 






 

Example: Texture samples with ray marching


The following example demonstrates the effect of the Texture samples parameter. This parameter allows for more accurate sampling of textures with rapid changes, without the need to increase the Step size parameter, and thus saving render time.

 

 


Texture samples is 1, Step size is 4.0

Note the noise.

 


Texture samples is 4, Step size is 4.0

Much better result, with only minor increase in render time.

 

Texture samples is 1, Step size is 1.0

In practice, the texture is sampled with the same rate as with the image on the left, but render time is greatly increased, since lighting is also sampled at a greater rate.

 

 

 

 


 

Fade Out


 

 

 

Fade out mode – Allows you to choose between two different modes of fade out.

Fade out radius – Allows you to set a radius for the fade out of the fog.

Per Object Fade Out Radius – When enabled, the fade out effect we be applied to each fog volume independently using the Fog fade out radius Extra V-Ray Attribute.

 

 

Ray Filter


 

 

 

Affect background – Enables or disables the tracing of background rays through the volumetric.

Affect reflection rays – Enables or disables the tracing of reflection rays through the volumetric.

Affect refraction rays – Enables or disables the tracing of refraction rays through the volumetric.

Affect shadow rays – Enables or disables the tracing of shadow rays through the volumetric.

Affect GI rays – Enables or disables the tracing of GI rays through the volumetric.

Affect camera rays – Enables or disables the tracing of Camera rays through the volumetric.

 

 

Notes


  • When using VRayEnvironmentFog with weak VRayLights, it may be necessary to turn down the Cut-off threshold parameter of the lights. The default value for this parameter works fine for surfaces, but for volumes, where a lot of weak light contributions are added together, it may produce a visible sharp boundary where the light calculations stop. 
  • You can use the various procedural textures to modify volume properties.
  • V-Ray does not have separate global illumination maps for volumetric rendering. Instead, all GI engines (the irradiance map, light cache, global/caustics photon maps) have been modified to support volumetric data.