OpenGL - получение параметров перевода из матрицы ModelView

Я делаю упрощенный эксперимент, как показано ниже:

glPushMatrix();
glGetDoublev(GL_MODELVIEW, modelMatrix);

glTranslatef(...);
glGetDoublev(GL_MODELVIEW, modelMatrix);
glPopMatrix();

Однако после перевода матрица представления модели не меняется. Мне интересно, почему так, и как я могу увидеть эффект от этого перевода? Другими словами, как я могу получить матрицу преобразования?


person Iceman    schedule 17.09.2014    source источник


Ответы (1)


Ваш код недействителен. Правильное перечисление для glGet...() — это GL_MODELVIEW_MATRIX, а не GL_MODELVIEW (которое является константой для использования glMatrixMode()), поэтому все, что вы получите, это некоторая ошибка GL, а память в modelMatrix вообще не будет затронута, так что, вероятно, она просто останется неинициализированной.

person derhass    schedule 17.09.2014
comment
Я полностью пропустил это. Это вы получаете, если не используете фиксированный конвейер функций в течение очень долгого времени :) Хороший улов! - person datenwolf; 18.09.2014