【问题标题】:How update a window in OpenGL [closed]如何在 OpenGL 中更新窗口 [关闭]
【发布时间】:2021-04-04 16:53:06
【问题描述】:

如何在 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;
}

【问题讨论】:

    标签: c++ windows opengl updates glut


    【解决方案1】:

    你需要调用glutPostRedisplay:

    将当前窗口的法线平面标记为需要重新显示。通过glutMainLoop 的下一次迭代,将调用窗口的显示回调来重新显示窗口的法线平面。 [...]

    在按键被按下时在键盘回调 (keyboard) 中调用 glutPostRedisplay (),或在 display 函数中连续调用 glutPostRedisplay() 以获得连续动画。

    【讨论】:

      猜你喜欢
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多