Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: CommunityОтветов: 2

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

c++translationmatrixopengl

Ответы

Ответ 1 · рейтинг 24 · arul

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

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

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

GL_MODELVIEW_MATRIX

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

Ответ 2 · рейтинг 5 · Brian Gianforcaro

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы