Для моего класса графики наш профессор хочет, чтобы мы сами отслеживали нашу текущую матрицу и применяли к ней матрицы вращения / сдвига / масштабирования, а затем загружали ее с помощью glMatrixMode (GL_MODELVIEW) и glLoadMatrix (current_matrix). Все это выглядит хорошо, но когда я на самом деле использую его, у меня возникает проблема:
если я применю вращение к чему-либо, оно будет вращаться правильно, но если я попытаюсь повернуть мировоззрение вокруг оси y, каждый объект будет вращаться только вокруг своей оси y.
Если это было оригинальное изображение: http://www.glowfoto.com/static_image/17-104501L/1324/jpg/10/2010/img5/glowfoto
Вот что я получаю: Ссылка в комментарии
Вот что я хочу получить: Ссылка в комментарии
Я делаю копию моего current_matrix. Применить вращение к current_matrix (умножить его). Затем вызовите glMatrixMode (GL_MODELVIEW) и glLoadMatrix (transformed_matrix). Нарисовать что-то. Затем скопируйте старую матрицу обратно в current_matrix. Затем вызовите glMatrixMode (GL_MODELVIEW) и glLoadMatrix (current_matrix). Любая помощь будет прекрасна!
P.S. смысл этого задания - не использовать glRotate glScale и другие команды.