在 GLSL for OpenGL ES 3.0 中,如果我有以下代码:
uniform mat4 matrix1;
uniform mat4 matrix2;
uniform mat4 matrix3;
是否可以仅使用 matrix1 的位置加上偏移量来引用 matrix2 或 matrix3?这必须是动态的,即索引将是一个属性。
编辑:我的意思是在着色器本身中使用 matrix2 和 matrix3,只有 matrix1 的位置和一个偏移量,而不是在 CPU 上获取它们的位置。
编辑2:如果有帮助,我会添加更多上下文。我正在尝试解决这个GPU 蒙皮问题,我注意到 Adreno 不支持在其顶点着色器中使用除常量整数以外的任何内容来索引统一数组(与 OpenGL ES 3.0 GLSL 规范的要求相反)。我现在正在考虑一个接一个地单独存储矩阵数组,但是仍然需要能够使用作为属性提供的索引来访问它们。