如何将matrix2传递给着色器

时间:2014-04-15 23:54:51

标签: shader lwjgl uniform

在着色器中,我有:

uniform mat2 textureMatrix;

在java中,我有:

    Matrix2f txMat = new Matrix2f();

    txMat.m00 = (float)1;
    txMat.m01 = (float)2;
    txMat.m10 = (float)3;
    txMat.m11 = (float)4;

    FloatBuffer buffer = BufferUtils.createFloatBuffer(4);

    txMat.load(buffer);

    int loc5 = glGetUniformLocation(programID, "textureMatrix");
    glUniformMatrix2(loc5, false, buffer); 

为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

Haven没有使用LWJGL,但我会突发奇想,猜你想要store而不是load。您从您创建的缓冲区加载矩阵,而不是将矩阵放入缓冲区。