Creating Ocean falloff / murk - Mist Pass or Z Deph

Hi Everyone,

I’m working on a video that is basically a POV submarine ride for an experience ride. For the underwater murk / ocean falloff I’ve been experimenting with rendering a depth or mist pass to then use this as a factor to overlay the colour and texture.

Below is my Node Setup:

This is the result of using the Z-Depth Pass:

and this is the result of the Mist Pass:

While the Mist pass has a better general fall off the Depth pass handles the smaller details better, as you can see the mist pass results in a lot of fine edges being eaten into and in some cases a slight outline or glow.

I’ve considered the route of using a genuine volume world but when I set it up I get a really black scene, even when density is turned all the way down to 0.1, also the colour setting seems to be backwards, finally it’s just much longer when it comes to rendering.

I’ve also read up on using Camera depth nodes for each of the materials but this whole project is going to be quite vast and I’m not keen on going that route, that is unless anyone can tell me otherwise.

This is in it’s infancy but I need to get a good basis setup as I will be using one big file and having my camera move through that.

I hope there is a good setup for cycles as I’ve been watching a lot of these VR videos like theBlu and Ocean Rift and they render good fall off in real time.

Cheers for any replies


The mist pass is aliased and the z depth is not. The mist pass respects transparent textures and the z depth does not. Perhaps the anti aliasing is what you’ve identified as affecting the detail?

Thanks for that, I’ve been playing around with different ways of getting the pass to look defined but to also respect motion blur etc and I think that there is no real happy medium. Close up it looks fine on the mist pass but smaller objects from a distance get eroded, alternatively using the z pass objects from a distance look good but up close they look pretty bad because of the lack of aliasing

I think I’m going to stick with the Mist pass.

To make the anti-aliasing look better you could try rendering over sized and scale it back. The downscale might be sharper with more finer detail being preserved by the anti-aliasing?

I’m still considering using genuine volume but can’t seem to get any light into my scene. I’m working at scale real world would that be an issue?

Shouldn’t be a problem but Blenders preset lamp intensities won’t be good enough I don’t think.

There is one dirty cheat that you can use, that is to make a shader node group with the Fog effect and put that on all your shaders.
You can use camera distance information in cycles shaders, then the nodegroup will mix between the original shader and whatever you want according to the distance.

Or, you can make a distance shader and render that with a material override on all your scene in a separate renderlayer if you’re more confortable with compositing.

Personally I’ll stick to using the myst pass, it’s generally way better than Z for these effects. But just in case you’re stuck you can try these method.

I’m visualizing Z-depth, first normalized then applied as a modifier to a mist-node or something similar … maybe also to adjustment of hue and/or saturation. (Even if the sea is free of “fog,” distance still affects hue-and-sat, such that I don’t think that the effect will look quite right unless you include this.)

You might use a curves-node to give yourself control over how and how-quickly the effect takes control as z-distance increases.

It might be interesting to add a small amount of big, pugdy, random noise to the mist … also toned-down using a curves node … so that the fog is not uniform. I don’t think that I would apply this to hue-and-sat, however.