我这样调整窗口大小:
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上下文并重新初始化的情况下执行此操作。
最佳答案
要在Windows上处理调整大小的窗口上下文,我想您要做的就是更新glViewport,如果启用了GL_SCISSOR_TEST,则可能需要glScissor。
关于c++ - 帮助使用GLOrtho,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2985829/