Adding Fog Using VRayZDepth Render Pass

Here’s a quick and flexible way to emulate the look of fog in the background of an image. I recently used this technique in the visualization of the Agami House in Yaffo. It’s true it might not look real enough but for most cases this really looks good enough and you have the added bonus of fast render and flexible edit inside Photoshop if the client ask for tweaks.

Adding the fog layer

You’ll start with the original render without any fog in it as you see below

Render without any fog

On top of this image you’ll add the fog layer – Full frame of pure white color masked out by the VRayZDepth render pass.

VRayZDepth Render Pass

If you need to adjust the fog location relative to the camera you can play with the ZDepth image levels, instead of re-rendering the image after changing the VRayZDepth parameters, This way you can quicky move the fog in and out as i did in the example below.

Getting the fog near camera with levels edit

White layer masked out using VRayZDepth on top

But this is not that good since the beautiful sky is now covered with white color. In order to get this right, and actually more true to the way fog behaves in reality, you need to change the pure white layer to a gradient with pure white at the bottom that shifts to transparency as you move up… this way the fog will be limited to near ground areas.

Fog using a gradient instead of pure white layer

You can see above the end result with the fog layer at 100%. You can decrease the impact of this layer to fine tune the general effect, or even mask out specific areas to emphasize exactly what you like.

80% of fog layer

60% of fog layer

40% of fog layer


I am still confused about the "ZDepth image levels", and I don't see mention of it in the provided link. So, we are able to adjust the zdepth without rendering it again? How is this possible?

ronenbekerman moderator

@whitebirchstud When I mention levels, I refer to tweaking these in Photoshop for example. For actual ZDepth made to fit a specific range re-render is needed. To avoid that I usually have 2-3 ZDepth Passes with different distances input... to cover more than one base ;)

Ahmed ebrahim
Ahmed ebrahim

i'm sry but i don't know how i can masked out the zdepth map on the real photo


Thanks for your sharing. But I'm not familiar with VRayZDepth parameters, is there any good tutorial for this parameter?

Thanks again.


Thanks Ronen for the tutorial... glad you put it on your own web. I like the color saturation that makes the image very rich.
Btw can i link this from my website?