如何在OpenGL中更新窗口



如何更新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()以获得连续动画。

最新更新