double matrix[16];
glGetDoublev(GL_MODELVIEW_MATRIX, matrix);
以上OPENGL指令可以获得当前的MODELVIEW变换矩阵.但是注意得到的矩阵是:
[ matrix[0], matrix[4], matrix[8], matrix[12] ]
[ matrix[1], matrix[5], matrix[9], matrix[13] ]
[ matrix[2], matrix[6], matrix[10], matrix[14] ]
[ matrix[3], matrix[7], matrix[11], matrix[15] ]
而不是:
[0,1,2,3,4]
[5,6,7,8]
[9,10,11,12]
[13,14,15,16]
搞错这个可能产生一些意想不到的错误。比如你你先旋转了一个点(glRotatef),然后又想知道这个点旋转过后的坐标值.