我在我的片段着色器中有两个采样器数组:
uniform sampler2D shadowMaps[12];
uniform samplerCubeShadow shadowMapsCube[12];
在我的pc上使用opengl 4.2非常好,但是在我的笔记本电脑(opengl 3.1)上却出现了“数组大小太大”的错误。
如果我将其设置为8,则正常工作。然而其他类型的数组可以更大,我可以添加更多最大大小为8的采样器数组而不会出问题。那么,这个限制是如何确定的呢?
将数组大小降低到8后,编译可以工作,但链接失败而不发出任何声音(日志为空,glGetError()返回0)。
如果我单独声明每个采样器(uniform sampler2D shadowMap1; uniform sampler2D shadowMap2;等),则不会出现这些错误。