jogl glGetPMvMatrixf()返回单位矩阵

时间:2014-01-30 16:23:17

标签: jogl

我无法理解glGetPMvMatrixf()函数。通过PMVMatrix.java掠过我没有注意到P和Mv乘法。函数只返回前面带有单位矩阵的FloatBuffer切片,后跟P,Mv和一串零。我错过了什么吗?

这是我的代码:

    PMVMatrix pmvMatrix = new PMVMatrix();

    pmvMatrix.glMatrixMode(PMVMatrix.GL_PROJECTION);
    pmvMatrix.gluPerspective(60, ((float) drawable.getWidth()) / drawable.getHeight(), 0.1f, 10);

    pmvMatrix.glMatrixMode(PMVMatrix.GL_MODELVIEW);
    pmvMatrix.glTranslatef(0, 0, -3);

    System.out.println(pmvMatrix.toString());
    System.out.println(
            Arrays.toString(pmvMatrix.glGetPMvMatrixf().array())
    );

    int pmvMatrixUniformLocation = gl.glGetUniformLocation(program, "pmvMatrix");
    gl.glUniformMatrix4fv(pmvMatrixUniformLocation, 1, false, pmvMatrix.glGetPMvMatrixf());

1 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的JOGL?我记得几个月前PMVMatrix中的一个错误被修复了。