OpenGL повернуть объект, чтобы установить его правильное лицо, прежде чем визуализировать на экране

Я загружаю объект через файл obj в opengl с помощью библиотеки GLM, но он появляется на экране вверх ногами. Также я предоставляю возможность пользователю, чтобы он мог вращать все объекты соответственно с помощью мыши. например увеличить и увеличить масштаб и вращаться с осью Y.

Проблема в том, что я не знаю, как сначала повернуть объект, чтобы сделать его лицо в соответствии с тем, что мне нужно. После этого я хочу нарисовать этот объект и, конечно же, в это время мышь может сыграть свою роль в его вращении.

моя функция рисования содержит следующий код

glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
glTranslatef(m_fPosX, m_fPosY,-m_fZoom);
glRotatef(m_fRotX, 1.0f, 0.0f, 0.0f);//these two for mouse movement
glRotatef(m_fRotY, 0.0f, 1.0f, 0.0f);
glRotated(180,0.0f, 0.0f, -1.0f);

glDisable(GL_TEXTURE_2D);
glColor3f(0.90f,0.90f,0.90f);
glmDraw(m_p3dModel,GLM_SMOOTH | GLM_MATERIAL);

glPopMatrix();

здесь все функции поворота зависят от движения мыши, но если он перегрузится с ног на голову, я не знаю, как сначала сделать мой объект направленным в правильном направлении, а затем разрешить его в этой функции рисования … Что означает, что мне нужно установить его лицо перед вызовом этого функция рисования.

0

Решение

glRotatef(m_fRotY, 1.0f, 0.0f, 0.0f);

должно быть

glRotatef(m_fRotY, 0.0f, 1.0f, 0.0f);

копировать / вставить — мать многих зол: о)

Для трансформации / проекции / модели просмотра учебника: проверьте ссылка на сайт

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]