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