【发布时间】:2015-07-12 14:35:31
【问题描述】:
我在我的 WebGL 顶点着色器中声明了一个数组:
属性vec2位置;
void main() {
#define length 1024
float arr[length];
// use arr so that it doesn't get optimized away
这可行,但如果我将 length 增加到 2048,那么 gl.drawArrays 什么也不做。没有错误-着色器编译,程序链接并通过gl.validateProgram。我猜我试图在堆栈上使用太多内存。有没有更好的程序化方式来发现这个限制?我做错了什么吗?
【问题讨论】:
-
GLSL 没有堆栈。
-
那我该怎么称呼它呢?
-
非功能性
glDrawArrays()是否会导致glGetError()返回GL_INVALID_OPERATION? -
@genpfault 不,没有错误