Everything here is done with particles, with different vertex groups controlling where different elements should go on the mesh. The fog z-depth is accomplished using a node material setup on all the materials in the scene:
Love your forest fog. So I am confused as to what nodes you are using that plug in to the Color1 input. Is it only a material node? Could you post a screenshot of the whole node setup or send me a PM with the node setup?
the color1 is a mix between a grassy green material and a dirt material, controlled by a vertex color channel: (which is how I get the forest path in the first image…)