【问题标题】:Is it possible to use struct array uniform in VertexShader on GLES2.0?是否可以在 GLES2.0 的 VertexShader 中使用 struct array uniform?
【发布时间】:2012-08-22 21:19:59
【问题描述】:

在GLES2.0的VertexShader中可以使用struct array uniform吗?

attribute highp vec4 vPosition;

struct TestStruct{
    highp vec4 v;
};
uniform TestStruct tmp[32];

void main() {
    // test code
    gl_Position = vPosition + tmp[31].v;
}

我收到着色器编译错误。
“顶点着色器中的统一变量不适合 512 个向量”

我的 GPU 是 Qualcomm adreno220。

有人知道这方面的信息吗?
我很烦恼。

谢谢。

【问题讨论】:

  • 我在我的设备上检查了你的着色器代码(带有 tegra2 GPU 的 Galaxy 选项卡),它可以工作......我认为它与 GPU 相关......
  • 感谢您的检查。我也调查了这个问题,我同意你的观点,它与 GPU 相关。

标签: android opengl-es-2.0


【解决方案1】:

这是可能的。您的阵列可能太大。试试 10 以下的数字,而不是 32。

【讨论】:

  • 感谢您的建议,但我需要使用超过 10 个单位。
  • 试试看是否少于 10 个有效。如果是这样,那就是 GPU 的限制,你必须忍受。
猜你喜欢
  • 2014-01-17
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
相关资源
最近更新 更多