帮助使用 GLOrtho
Posted
技术标签:
【中文标题】帮助使用 GLOrtho【英文标题】:Help using GLOrtho 【发布时间】:2010-06-06 20:43:32 【问题描述】:我像这样调整我的窗口大小:
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】:要在 Windows 上处理调整大小的窗口上下文,我认为您所要做的就是更新 glViewport,如果启用了 GL_SCISSOR_TEST,可能还需要更新 glScissor。
【讨论】:
以上是关于帮助使用 GLOrtho的主要内容,如果未能解决你的问题,请参考以下文章