0
我的程序崩溃时,我加入这行代码:有什么不对我的Android的OpenGL shader代码
uniform short colors[262144][3];
多少事我做错了吗?
- 你可以在着色器中使用短裤吗?
- 你可以在着色器中使用二维数组吗?
- 阵列太大了吗?
- 我的声明语法不正确吗?
我想在一个数组这样进入每个像素的片段着色器传递,但现在我只是看到,如果这行会的工作和我的程序崩溃。
我的程序崩溃时,我加入这行代码:有什么不对我的Android的OpenGL shader代码
uniform short colors[262144][3];
多少事我做错了吗?
我想在一个数组这样进入每个像素的片段着色器传递,但现在我只是看到,如果这行会的工作和我的程序崩溃。
您不能在GLSL中使用多维数组,也不能使用短裤。
你可以模仿一个多维数组这样虽然的功能:
uniform float colors[50*3];
// Then access it like this
float t = colors[row * 50 + column];
我可以想象你要发送的数据太多为好,我会使用一个纹理或者亲自传递大量数据代替缓冲区。
这是一个很好的答案,它解释了这些方法https://stackoverflow.com/a/7958008/139927