Hardware not supported for Volumetric Materials

Why when I add “sky and fog volume”, there is the error “Hardware not supported for Volumetric Materials” in the console.

Hello,

Could you tell us which GPU and OS are you using on your machine?
Also, can you make sure that your graphics drivers are up to date?

I use Ubuntu and I have Quadro K4000

Unfortunately, it seems that your GPU doesn’t support this feature which is required for the volumetric materials to work:

The same mistake Unity 2022.3.0f1 LTS.
On version 2021, volumetric fog works without this error.
This error is observed in video cards on the Maxwell architecture.

It’s strange that no one from the official support gave you the right answer. But, now I have solved the problem by forcibly switching the assembly to dx12.
Obviously this is a problem with Unity instructions. In fact, the volumetric light works, but gives an error to the console.

Just select dx12 here:

You haven’t forced it to DirectX 12. You’ve forced it to OpenGL Core. These are two different APIs.

This is a screenshot from the Internet

Okay, but it’s still not going to work in this case as the Quadro K4000 doesn’t support DirectX 12.

https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/quadro-product-literature/DS_NV_Quadro_K4000_OCT13_NV_US_LR.pdf

1 Like

I opened the profile from the Sun And Fog Volume game object in the scene and unclicked Volumetric Fog I think, which fixed it for me.
Now that I go back after a restart to check the setting the tick box is set again. So perhaps it was just a temporary error.

How can we figure this out in runtime to toggle the fog for our user?

You can check if this is false to disable the fog: https://docs.unity3d.com/ScriptReference/SystemInfo-supportsRenderTargetArrayIndexFromVertexShader.html

1 Like

Thanks. I assume volumetric clouds should also be disabled with this?

No, they should work as expected without this feature. They are not using the same technique to render them (and there is no ShaderGraph support).

1 Like

Why did it work before? And there was no need to disable fog. And why it work on dx12?

We changed how the volumetric fog is voxelized to make it faster and programmable with ShaderGraph but it involved reducing a bit the platform coverage. The RenderTargetArrayIndexFromVertesShader is something that has been supported by most graphics cards for 6/7 years.

I’d say that this on the other hand is not expected since this is a feature on GPU/driver level. Can you make sure your Windows / GPU drivers are up to date?

Looks like this is not enough, I still have people reporting black screen on GTX 900 series if I rely on this bool. Is there anything else?

I can’t think of anything else, I double-checked the code and there is nothing else in terms of graphics caps that we use for volumetric fog. The black screen surprises me a bit though, if the feature doesn’t work well I’d expect that it causes the volumetric fog to not fill the volumetric buffer, hence making it almost invisible.

Yeah, that surprised me as well:) but it produces nans or infs across entire screen on gtx 900 series. Checked in renderdoc. And stop NaNs on camera doesn’t help.
I just had to hardcode a list of GTX 700-900 GPU names to toggle the fog for them because that SystemInfo bool is still returning true on them.