Получение текущей матрицы ModelView
В OpenGL, как мне прочитать текущий х / у перевод в матрице вида модели? Я знаю, что вы должны загрузить текущую матрицу в массив и прочитать оттуда числа с плавающей точкой, но я не знаю точно, как это сделать.
2 ответа
Решение
Чтобы получить текущую матрицу вида модели, вы должны вызвать функцию glGetFloatv с GL_MODELVIEW_MATRIX
параметр.
GLfloat matrix[16];
glGetFloatv (GL_MODELVIEW_MATRIX, matrix);
Из документации:
GL_MODELVIEW_MATRIX
params возвращает шестнадцать значений: матрица просмотра модели в верхней части стека матрицы просмотра модели. Первоначально эта матрица является единичной матрицей.
Используйте 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);