Несколько вертикальных панелей в окне OpenGL - PullRequest
4 голосов
/ 27 мая 2011

Возможно ли в OpenGL разделить окно на несколько вертикальных "панелей", чтобы каждая из них отображала свой набор фигур?будет полностью независимым (местоположение и масштаб).

1 Ответ

5 голосов
/ 27 мая 2011

Первое, что приходит на ум, - это применить несколько вызовов к glViewport(). Вы должны визуализировать каждую вертикальную полосу по очереди, а затем установить область просмотра для визуализации следующей вертикальной полосы и повторить. Я делаю это, чтобы разделить экран пополам и визуализировать сцену с двух разных точек обзора, но нет никакой причины, по которой вам нужно визуализировать одну и ту же сцену во втором или n-м окне просмотра.

Итак, мой {отредактированный} код выглядит примерно так:

glEnable(GL_SCISSOR_TEST);
...
// Draw the left scene
glViewport(0,0,halfWidth,fullHeight);
glScissor(0,0,halfWidth,fullHeight);
glClear(...);
glPushMatrix();
setLeftEyeModelView();
renderScene();
glPopMatrix();

// Draw the right scene
glViewport(halfWidth,0,halfWidth,fullHeight);
glScissor(halfWidth,0,halfWidth,fullHeight);
glClear(...);
glPushMatrix();
setRightEyeModelView();
renderScene();
glPopMatrix();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...