Матричный стек OpenGL - PullRequest
       3

Матричный стек OpenGL

0 голосов
/ 28 марта 2012

Если я позвоню

float before[16];
float during[16];
float after[16];
glGetFloatv(GL_MODELVIEW_MATRIX, before);
glPushMatrix();
glGetFloatv(GL_MODELVIEW_MATRIX, during);
glPopMatrix();
glGetFloatv(GL_MODELVIEW_MATRIX, after);

Значения до и после отличаются.Если я что-то пропустил, я думал, что ни одна из этих функций не должна даже изменять Матрицу.Может показаться, что Pop - виновник, поскольку while равен before.

1 Ответ

0 голосов
/ 13 июля 2012

Они должны быть одинаковыми.glPushMatrix отправляет копию текущей матрицы, после чего предыдущая не должна быть затронута, и после glPopMatrix снова станет текущей.

Проверьте glGetError.Если переполнится стек матрицы, может произойти что-то плохое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...