Page MenuHome

Eevee volume shader on imported VDB influences other volumetrics density (specified density attribute makes a difference)
Confirmed, NormalPublic

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 457.51

Blender Version
Broken: version: 2.91.0, branch: master, commit date: 2020-11-25 08:34, hash: rB0f45cab862b8
Worked: (newest version of Blender that worked as expected)

Short description of error
I've noticed for a while now that if I bring in a vdb file, to a scene that already has fog via a large cube with principled volume shader applied, once I either import the vdb or, if it's hidden and I unhide it, the scene fog via the large cube will suddenly turn off. There's no way to get it back other than to reload the scene/restart Blender.

Exact steps for others to reproduce the error
Make a scene, envelop it in a large cube, apply principled volume shader. Something like 0.025 density or thereabouts. Whatever is thick enough to see the scene and appreciate the fog is there.
Import a vdb file and apply a volume shader to it. The main fog should disappear.
Then try putting the fog on the cube up to 1.0 density and you'll notice you get fog back, but, it's not as dense as it should be, even at 1.0 density.

Event Timeline

Robert Guetzkow (rjg) changed the task status from Needs Triage to Needs Information from User.EditedJan 9 2021, 10:54 AM

In what viewport shading mode and with which render engine are you viewing these volumetrics? In my test using the smoke1.vdb provided on the OpenVDB website, I couldn't reproduce the problem. Can you please share a minimal example file that demonstrates the issue or provide more detailed instructions? Overlapping volumes in Cycles can cause artifacts, see T83604.

Does this file work properly for you?

Try this. There's a cube in the scene with fog density set to 1.0 so you can't see anything. Look in the scene collections for the vdb file which is currently hidden. Unhide it and the fog will reduce in density visibly but will still be at 1.0

If I open the file you've provided I see no difference in material preview or rendered mode with or without the vdb object being visible. Please answer the questions from my last comment and provide precise instructions how to reproduce the problem with the file you've provided.

I uploaded a video to show how it looks for me. Unfortunately the audio didn't capture but if you just re-read what I said above it's about as precise as it needs to be. In the video I open the file, note that there's nothing visible in the scene because the fog density of the shader (that's applied to a cube encompassing the scene) is set to 1.0. I unhide the vdb file and it erroneously causes the fog density to change, so now, once the vdb file is unhidden, we CAN see the scene. However, the density has not changed from 1.0. At the end of the video I re-load the file and it's still broken (the volumetric fog is neither 0 or 1, it's somewhere in between). You have to restart Blender to fix it. Using Eevee.

I can't reproduce this in Blender 2.91 or the current master branch.



Watch the attached video. Open the new Blender file and do what I do in the video. I've attached the vdb file. Essentially import the vdb cloud file, add the default volumetric shader and then scale it up and down and watch the density of the large cube's volumetric shader go in and out in proportion to the vdb file. It's a scaling issue of some kind related to some aspect of certain vdb files.

Robert Guetzkow (rjg) changed the task status from Needs Information from User to Needs Triage.EditedJan 9 2021, 8:32 PM

Yes, I've seen the previous video and done the same steps. I will take a look at your new files and video on Monday, but it seems that I cannot reproduce the issue on my system.

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Feb 1 2021, 6:45 PM

Seems I can reproduce.

As soon as some attribute is specified (doesnt even make a difference which one, non-existent or whatever) in the Cube's Principled Volume shaders's Density Attribute, its density is influenced by other volume shaders.

@Clément Foucault (fclem): this cant be expected behavior, right?

Philipp Oeser (lichtwerk) renamed this task from importing a VDB makes scene volumetrics disappear to Eevee volume shader on imported VDB influences other volumetrics density (specified density attribute makes a difference).Feb 1 2021, 6:47 PM