帮助使用GLOrtho

时间:2010-06-06 20:43:33

标签: c++ c opengl

我像这样调整窗口大小:

    RECT clientRect;
    GetClientRect(mainWindow,&clientRect);

    glShadeModel(GL_SMOOTH);

MoveWindow(framehWnd,
        toolWidth,
        tabHeight, 
        ((clientRect.right - clientRect.left) - toolWidth) - rightRemainder , 
        (clientRect.bottom - clientRect.top) - tabHeight - paramHeight, 
        false);


glMatrixMode(GL_PROJECTION);
glLoadIdentity();

glOrtho (0, ((clientRect.right - clientRect.left) - toolWidth) - rightRemainder ,
         (clientRect.bottom - clientRect.top) - tabHeight - paramHeight
         , 0, 0, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

除了一件事,这个工作正常。让我说我创建一个0,0到100,100的正方形。我想如果我调整大小它总是保持在左上角但是现在如果我调整大小它会被推上或下移而不是停留在左上角。我应该修改什么?  感谢

*我刚才意识到真正需要发生的是上下文调整大小,但我不知道如何在不丢弃OGL上下文并重新启动它的情况下执行此操作。

1 个答案:

答案 0 :(得分:0)

要在Windows上处理调整大小的窗口上下文,我认为您所要做的就是更新glViewport,如果启用了GL_SCISSOR_TEST,则可能是glScissor。