使用Android GLES20的三星Galaxy Tab Pro上的glUniformMatrix2fv - 适用于Droid Bionic

时间:2014-09-24 15:12:51

标签: android opengl-es galaxy-tab

我正在研究一个Android OpenGL ES 2.0程序的着色器。这是错误消息。我谷歌了,却一无所获。

java.lang.IllegalArgumentException: length - offset < count*4 < needed
            at android.opengl.GLES20.glUniformMatrix2fv(Native Method)

这适用于我的Droid Bionic,但不适用于我的三星Galaxy Tab Pro。有问题的实际内容如下:

GLES20.glUniformMatrix2fv(m_u_texture_position, 1, false, m_u_texture_position_floats, 0);

m_u_texture_position_floats是一个2元素的浮点数组。有谁知道这是为什么?

1 个答案:

答案 0 :(得分:0)

glUniformMatrix2fv()设置mat2类型的统一的值。 mat2是一个2乘2的矩阵,因此它需要4个浮点数。

对于包含2个值的统一变量,着色器代码中的类型应为vec2,您将使用glUniform2fv()来设置值:

GLES20.glUniform2fv(m_u_texture_position, 1, m_u_texture_position_floats, 0);