Trying to create fog over huge area. Missing density/detail when using huge cube cs small

I’m adding a principled volume material over a vast area. Issue is, the shader looks quite a bit different when I apply it to a small object vs a big one.
Material is a noise multiplied with a ramp in Z to cap of how high the fog can stretch.

All the coordinates used in the shader is taken from a texture coordinate from an empty. So, it looks the same when scaling/rotating/translating, until I scale it up a lot.

Is this just a limitation in blender, or is it possible to fix?

Screenshot illustrates three cubes. Two small ones and one huge. They have the same material.

I think whatever you want to do is doable, I am just not quite sure how, but I suspect the object scale of the meshes to interfere with the scaling.
What happens if you apply the scale of the boxes after scaling them?
What happens if you join the 3 box meshes into one object?
You could probably copy the shader for each box and scale/adjust the noise individually.

No difference when applying scale.

If I join the meshes, it looks identical to before joining.

I would prefer to only have the one big mesh, the smaller ones was only to illustrate that i looks different.

Now I am confused and not sure if I understand your goal and the problem correctly.
What do you want to archive with that one big mesh, and how does the shader change when you scale it from small to big?
It should just scale up, nothing else.

What seems to change is the detail in the noise. It looks more lowres when compared to the same shader applied to a smaller geometry.
There might also be a difference in density, difficult to say if its only detail or both.

I don’t know how blender works under the hood, but it looks like it samples the noise texture with a lower resolution the bigger you make the geometry.

My guess is that it is the same resolution but scaled up, bigger voxels = less details.
This could also explain the difference in appearance of the density.
There is definitely a way to fix this, I need to start Blender and have a look at the volume settings myself.

In the render settings, under volumes, decrease Step Rate Render (and the viewport setting below to see the effect in the vieport.)
This is a global setting for the volume resolution and should give you back the missing details at scale.

Thank you for taking the time to help!

It seems to me that decreasing the step size increases the density of the volume, but not the detail.

What I have now is totally fine btw, especially after your tip about the steps. Still, it would be interesting to know how it works, and if it is solvable.

Seems Blender is taking the resolution based on the bounding box of the connected vertices. So, one workaround would maybe be to replicate the shader in geo nodes, create geometry for the volume islands and apply the material to those.
Not something I’m gonna try, at least not for this project (not enough time). Just thinking out loud.

I could also be totally wrong ofc. :slight_smile: