1

例如,

struct A{
   GLint a1;
   GLint a2;
   GLint a3;
};

Uniform X{
    A a[8];
}x;

GLchar* uniformNames[]={"x.a"};
GLuint uniformIndices[1]={0};

现在,

glGetUniformIndices(programID, 1, &uniformNames, &uniformIndices);

-- 不返回 uniformIndices[]?我想我犯了一个我无法弄清楚的明显错误。请帮帮我。

4

1 回答 1

0

我想我在哪里出错了,要获取名称必须采用 xa[0]、xa[1] 等形式的索引。

但是,如果情况是这样的,我无法获得 UNIFORM_ARRAY_STRIDE:

uniform X{
   A a;
}x[8];

在这种情况下如何找到数组步幅?因为我无法为 X 的所有实例填充数据。请帮助我。谢谢。

于 2012-01-31T17:11:37.470 回答