2

我正在glsl.heroku.com中制作一个着色器,当我尝试访问这样声明的浮点数组时:

float colors[200];

这样:

int i=function();
float color=colors[i];

它不编译,出现“编译错误”错误。这是因为 glsl 不允许它还是 Heroku 特定的问题?如果是前者,我该如何解决?

4

1 回答 1

1

好的,我找到了答案(好吧,用户 kaoD 解决了它)。heroku 使用 WebGL,它使用 OpenGL ES 2.0,它不会将数组视为普通数组,而更像是分隔变量,因此它无法在运行时访问它们,除非它具有常量索引。

于 2013-02-24T19:30:47.637 回答