1
我有浮子的2D阵列(在这种情况下,它表示具有RGB值的256色调色板)传递2D阵列成GLES OpenGL着色
static float[][] glColorPaletteArray = new float[256][3];
我填充阵列,现在想将它传递给GLES 。如何在android中传递2D数组?我尝试
GLES20.glUniform3fv(paletteLoc,256,glColorPaletteArray,0);
但它抱怨期待1D数组(预计float [] []期待浮动[])。
着色器期待一个VEC3均匀,即
uniform vec3 palette[256];
所以我需要保持2D阵列所以RGB分量是分离的浮动。
的秘诀是什么,这是让二维数组正确地传递给GLES着色器,所以我可以再利用
int red = palette[100].r;
好的,但一旦转换为1D,着色器(期待vec3条目)是否知道如何提取256种颜色中的每一种的RGB分量? – Some1Else
是的。总是3个连续的花车将被用作一个vec3。 – BDL