glutPostRedisplay

王朝百科·作者佚名  2011-11-22  
宽屏版  字体: |||超大  

用法void glutPostRedisplay(void);

描述glutPostRedisplay 标记当前窗口需要重新绘制。通过glutMainLoop下一次循环时,窗口显示将被回调以重新显示窗口的正常面板。多次调用glutPostRedisplay,在下一个显示回调只产生单一的重新显示回调。

为了便于理解,用下面的例子[1]来说明:

假设有绘制代码:

glutDisplayFunc(display);// opengl drawing goes here

glutTimerFunc(30, drive, -1);// physics, movement equations here

glutMainLoop();

另外有代码如下:

void drive (int data)

{

glutTimerFunc(30, drive, -1);// call drive() again in 30 milliseconds

/*callback function moves the car. .... move x, y, z, etc

前面的代码不用理解,就是移动了物体,绘制的画面改变了*/

glutPostRedisplay();

}

如果有glutpostredisplay,mianloop运行的过程会像下面这样:

drive (-1);

display();

drive (-1);

display();

drive (-1);

display();

...

如果没有glutpostredisplay,mianloop运行的过程会像下面这样:

drive (-1);

drive (-1);

drive (-1);

...

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有