在我的顶点着色器代码中,我有一组 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。
我如何解决它?
谢谢。