首页 > 解决方案 > unity CBuffer 大小限制

问题描述

我正在测试 Unity2019.4.17 的 SRP Batcher 的功能。我遇到了一个奇怪的错误。当我启用 SRP 时,某些对象呈现不正确。从 RenderDoc 中,我可以看到我的着色器的一些属性是错误的。例如,_BaseColor 设置为绿色,但它应该是白色的。

我怀疑每个材料 CBuffer 有大小限制。超出限制的属性是随机设置的。在 HLSL 的文档中,它说“每个常量缓冲区最多可以容纳 4096 个向量;每个向量最多包含四个 32 位值。每个流水线阶段最多可以绑定 14 个常量缓冲区(保留 2 个额外的插槽供内部使用)” . Unity 也是如此吗?每个阶段只有 14 个 CBuffer 可用?

标签: unity3dshaderrendering

解决方案


推荐阅读