获取当前 ModelView 矩阵

2021-12-19 00:00:00 opengl matrix translation c++

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

In OpenGL, how do I read the current x/y translation in the modelview matrix? I know that you have to load the current matrix into an array and read the floats from there, but I don't know precisely how to do it.

推荐答案

为了检索当前的模型视图矩阵,您必须调用 glGetFloatv 函数,带有 GL_MODELVIEW_MATRIX 参数.

In order to retrieve the current modelview matrix you have to call the glGetFloatv function with GL_MODELVIEW_MATRIX parameter.

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

来自文档:

GL_MODELVIEW_MATRIX

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

params returns sixteen values: the modelview matrix on the top of the modelview matrix stack. Initially this matrix is the identity matrix.

相关文章