当我的窗口调整大小时,我不希望内容缩放,而只是增加视口大小。我在stackoverflow(http://stackoverflow.com/questions/5894866/resize-viewport-crop-scene)上搜索时发现了这一点,这与我的问题几乎相同。但是我对将缩放设置到什么位置以及在哪里设置感到困惑,我用 1.0f 进行了尝试,但是什么也没显示:s
这是目前进行缩放的调整大小功能代码:
void GLRenderer::resize() {
RECT rect;
int width, height;
GLfloat aspect;
GetClientRect(hWnd, &rect);
width = rect.right;
height = rect.bottom;
if (height == 0) {
height = 1;
}
aspect = (GLfloat) width / height;
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, aspect, 0.1, 100.0);
glMatrixMode(GL_MODELVIEW);
}
我的功能是渲染一个简单的三角形:
void GLRenderer::render() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslated(0, 0, -20);
glBegin(GL_TRIANGLES);
glColor3d(1, 0, 0);
glVertex3d(0, 1, 0);
glVertex3d(1, -1, 0);
glVertex3d(-1, -1, 0);
glEnd();
SwapBuffers(hDC);
}