我有一个烦人的问题。我有一个在 Unity SDK 中运行良好的着色器,但在分布式版本中显示错误的 alpha 值。我正在使用帧缓冲区的 alpha 通道来实现godrays(因为我不能依赖深度缓冲区,因为它由于使用(片段)深度而被“污染”)。结果是在不透明的物体上显示了神光。另一个着色器,几乎就像上面描述的着色器一样,在分布式版本中运行良好。不同之处在于我在第一个着色器中设置(片段)深度,而不是在后者中。我已经用 Opengl 和 DirectX 进行了测试,都显示出同样的问题。
我的着色器位于资源文件夹中,并且我对(第一个)着色器的编译版本进行了调整,以使(片段)深度工作。
两个问题突出:
- 为什么它在 SDK 中有效,而在分布式版本中无效?
- 这与(碎片)深度有什么关系吗?