В OpenGL, как мне читать текущий перевод x/y в матрице просмотра модели? Я знаю, что вам нужно загрузить текущую матрицу в массив и прочитать там поплавки, но я точно не знаю, как это сделать.
Получение текущей матрицы ModelView
Ответ 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);