Получение текущей матрицы ModelView

В OpenGL, как мне читать текущий перевод x/y в матрице просмотра модели? Я знаю, что вам нужно загрузить текущую матрицу в массив и прочитать там поплавки, но я точно не знаю, как это сделать.

Ответ 1

Чтобы получить текущую матрицу просмотра модели, вы должны вызвать функцию glGetFloatv с параметром GL_MODELVIEW_MATRIX.

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

Из документации:

GL_MODELVIEW_MATRIX

Параметр

возвращает шестнадцать значений: матрица модели в верхней части матричный стек модели. Первоначально это матрица является тождественной матрицей.

Ответ 2

Используйте 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);