4

在我的顶点着色器代码中,我有一组 mat3x4 结构。
该数组是统一的,即使它的总向量数只有 60,
我收到着色器编译错误:

“顶点着色器中的统一变量不适合 512 个向量。”

这是我的着色器代码:

[VertexShader]

struct mat3x4{
    highp vec4 v[3];
};

attribute highp vec4 vPosition;
uniform mat3x4 camSkin[20];

void main() {
    // test code
    gl_Position.x = vPosition.x + camSkin[0].v[0].x + camSkin[19].v[2].x;
    gl_Position.y = vPosition.y + camSkin[0].v[0].y + camSkin[19].v[2].y;
    gl_Position.z = vPosition.z + camSkin[0].v[0].z + camSkin[19].v[2].z;
    gl_Position.w = vPosition.w + camSkin[0].v[0].w + camSkin[19].v[2].w;
};

[片段着色器]

void main() {
    gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5);
};

我正在开发 adreno220 GPU Android 智能手机,
并使用 Android OS 2.3。

我如何解决它?
谢谢。

4

0 回答 0