获取当前的ModelView矩阵

时间:2009-04-19 21:27:29

标签: c++ opengl matrix translation

在OpenGL中,如何读取模型视图矩阵中的当前x / y转换?我知道你必须将当前矩阵加载到一个数组中并从那里读取浮点数,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:21)

要检索当前的模型视图矩阵,您必须使用GL_MODELVIEW_MATRIX参数调用glGetFloatv函数。

GLfloat matrix[16]; 
glGetFloatv (GL_MODELVIEW_MATRIX, matrix); 

来自文档:

  

GL_MODELVIEW_MATRIX

     

params返回十六个值:   模型视图矩阵在顶部   modelview矩阵堆栈。最初这个   矩阵是单位矩阵。

答案 1 :(得分:5)

使用glGlet

GLfloat matrixf[16];
glGetFloatv(GL_MODELVIEW_MATRIX, matrixf);

GLdouble matrixd[16];
glGetDoublev(GL_MODELVIEW_MATRIX, matrixd);

GLint matrixi[16];
glGetIntegerv(GL_MODELVIEW_MATRIX, matrixi);