【问题标题】:Can the Shader Model affect Compute Shader behaviour?着色器模型会影响计算着色器的行为吗?
【发布时间】:2018-09-23 13:32:24
【问题描述】:

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

那么:着色器模型会影响计算着色器的行为吗?

如果我调用 SystemInfo.graphicsShaderLevel 它会返回:

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

我尝试寻找有关该主题的更多信息,但我能找到的最多的是这些: 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 + 计算着色器”的官方信息。

【问题讨论】:

    标签: unity3d graphics gpu shader hlsl


    【解决方案1】:

    你使用的图形api是metal还是opengl?注意mac上的opengl(4.1)版本不支持compute shader。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多