我在glsl.heroku.com中创建着色器,当我尝试访问一系列声明为这样的浮点数时:
float colors[200];
以这种方式:
int i=function();
float color=colors[i];
它没有编译,出现“编译错误”错误。 这是因为glsl不允许它还是heroku特定的问题?如果它是前者,我该如何解决它呢?
答案 0 :(得分:1)
好的,我找到了答案(好吧,用户kaoD解决了它)。 heroku使用WebGL,它使用OpenGL ES 2.0,它不会将数组视为普通数组,但更像是分离的变量,所以它不能在运行时访问它们,除非它具有常量索引。