如何更新OpenGL中的窗口?我的意思是:如果一个创建了一个带有图形的窗口,我将其可视化,那么我想通过转换来修改图形。我希望通过从键盘上按下按钮,我的窗口可以用转换后的图形更新;cin";和glutDisplayFunc(display)
(看下面的伪代码(?
int main(int argc, char** argv){
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
cin>>input_for_transformation;
glutReshapeFunc(reshape);
glutKeyboardFunc (keyboard);
glutMainLoop();
return 0;
}
您需要调用glutPostRedisplay
:
将当前窗口的法线平面标记为需要重新显示。在
glutMainLoop
的下一次迭代中,将调用窗口的显示回调来重新显示窗口的法线平面。[…]
按键时在键盘回调(keyboard
(中调用glutPostRedisplay ()
,或在display
函数中连续调用glutPostRedisplay()
以获得连续动画。