Если я правильно понимаю, вы хотите нарисовать квадрат в верхнем правом углу окна , независимо от того, где расположена ваша сцена область просмотра .
Самый простой способ сделать это - после рендеринга обычной сцены с нужным аспектом изменить область просмотра gl на квадрат, который вы хотите нарисовать в верхнем углу. Затем нарисуйте «полноэкранный» квад для заполнения квадрата, и в этом случае фактически полноэкранный режим становится полнопроходным.
Непроверенный полупсевдокод будет выглядеть примерно так:
// Draw normal scene
glViewport(x, y, w, h);
drawScene();
// Draw top-right red square
glViewport( windowWidth - squareWidth, windowHeight - squareHeight,
squareWidth, squareHeight );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glColor3f(1.f, 0.f, 0.f);
glRectf(-1.f, -1.f, 1.f, 1.f);
Убедиться, что обмотка glRectf соответствует вашей текущей конфигурации грани. В качестве альтернативы, просто временно отключите выборку с помощью glDisable (GL_CULL_FACE) / glEnable (GL_CULL_FACE).