C ++ OpenGL: как я могу объединить 2 разных типа проекции для 3D-графики и 2D-меню? - PullRequest
4 голосов
/ 09 апреля 2010

Я бы хотел использовать наклонную проекцию для меню и перспективную проекцию для 3d-сцены.Есть ли способ объединить эти две проекции?

В общем, я спрашиваю, как я могу создать меню в opengl для моей трехмерной сцены.

Программирование с использованием языка c ++.

Спасибо!

Ответы [ 2 ]

7 голосов
/ 09 апреля 2010

Нет проблем. Просто нарисуйте свою 3D-сцену с соответствующими загружены матрицы моделей и проекций. Затем загрузить 2D-матрицы, отключите тест глубины и визуализируйте меню. Вот пример того, как это может выглядеть.

glEnable(GL_DEPTH_TEST)
glMatrixMode(GL_MODELVIEW);
--code to load my Perspective Modelview Matrix
glMatrixMode(GL_PROJECTION);
--code to load my Perspective Projection Matrix
--code to draw my 3D scene
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glMatrixMode(GL_PROJECTION);
--code to setup my "menu" coords, probably something like
  gluOrtho2D
glDisable(GL_DEPTH_TEST)
--code to draw the menus
3 голосов
/ 09 апреля 2010
  • Нарисуй свою 3D сцену.
  • Нажмите матрицу проекции.
  • (возможно, очистить буфер глубины).
  • Настройка 2D-проекции.
  • Нарисуйте свое 2D меню.
  • Вытянуть матрицу проекции.
...