着色器模型会影响计算着色器行为吗?

时间:2018-09-23 13:32:24

标签: unity3d graphics gpu shader hlsl

当我在PC上运行计算着色器时,它可以工作。如果我在Mac上运行它,则不会。根据一些调试,我 问题是,无论出于何种原因,即使我强制为其指定任意值,重要纹理的Y,Z和W分量也始终为零。

因此:着色器模型会影响计算着色器行为吗?

如果我调用SystemInfo.graphicsShaderLevel,它将返回以下内容:

  • 在PC上:50(根据Unity,为“ Shader Model 5.0(DX11.0)”)
  • 在Mac上:45(根据Unity,“金属/ OpenGL ES 3.1功能(Shader Model 3.5 +计算着色器)”)

我尝试寻找有关该主题的更多信息,但我能找到的最多的是: https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-sm3 https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/d3d11-graphics-reference-sm5

我找不到任何有关Unity所谓的“ Shader Model 3.5 + compute shader”的官方信息。

1 个答案:

答案 0 :(得分:0)

您使用的图形API是Metal还是opengl?请注意,Mac上的opengl(4.1)版本不支持计算着色器。

首先请确保您在Mac上使用金属。