Первое, что приходит на ум, - это применить несколько вызовов к 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();