【发布时间】:2011-09-04 18:39:12
【问题描述】:
在 windows 7 home Ultimate 和显卡 atimobility radeon 5650
上使用 free glut代码sn-p:
void ResizeFunction(int width, int height)
{
glViewport(0, 0, width, height);
}
void RenderFunction()
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//...drawing code based on some flag, I draw a triangle or a rectangle
//the flag is toggled on pressing 't' or 'T' key
glutSwapBuffers(); //double buffering is enabled
glutPostRedisplay();
}
void KeyboardFunction(unsigned char key, int x, int y)
{
switch(key)
{
case 't':
case 'T':
{
flag = !flag;
glutPostRedisplay();
break;
}
default:
break;
}
}
问题:第一次绘制的三角形或矩形覆盖了整个窗口。但是,如果我用另一个窗口(例如,用一些记事本窗口)部分覆盖 glut 窗口,然后将其打开,随后,当我切换时,对象仅绘制在 glut 窗口的覆盖部分中。如果我重新调整 glut 窗口的大小,绘图会像以前一样正常工作。
我们将不胜感激。
问候, fs
【问题讨论】:
标签: windows opengl refresh glut redraw