我无法理解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());
答案 0 :(得分:0)
您使用的是哪个版本的JOGL?我记得几个月前PMVMatrix中的一个错误被修复了。