我正在尝试确定 glRotate 之后的坐标。
假设我们最初在
View.x = 0;
View.y = 0;
View.z = 10.0f;
我们做一个 glRotate
我如何获得新的更新坐标?
View.x = ?;
View.y = ?;
View.z = ?;
这似乎不起作用(我有什么问题?):
glRotatef(angle, x, y, z);
GLfloat theMatrix[16];
glGetFloatv(GL_MODELVIEW_MATRIX, theMatrix);
viewX = View.x * theMatrix[0] + View.y * theMatrix[4] + View.z * theMatrix[8];
viewY = View.x * theMatrix[1] + View.y * theMatrix[5] + View.z * theMatrix[9];
viewZ = View.x * theMatrix[2] + View.y * theMatrix[6] + View.z * theMatrix[10];