Получение текущей матрицы ModelView - PullRequest
10 голосов
/ 20 апреля 2009

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

Ответы [ 2 ]

21 голосов
/ 20 апреля 2009

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

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

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

GL_MODELVIEW_MATRIX

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

5 голосов
/ 20 апреля 2009

Использование 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);
...