gpt4 book ai didi

c++ - 使用复杂的显示功能会阻止 glutKeyboardFunc 工作

转载 作者:行者123 更新时间:2023-11-30 02:44:07 28 4
gpt4 key购买 nike

在一个非常简单的例子中使用 glutKeyboardFunc,我可以很容易地让它工作:

void special(int key, int x, int y) {
printf("key %d\n", key);
}

void keyboard(unsigned char key, int x, int y) {
printf("key %d\n", key);
}

void display() {}

int main(int argc, char** argv) {
glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640, 480);

glutCreateWindow("GLUT Program");

glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutSpecialFunc(special);

glutMainLoop();
return EXIT_SUCCESS;
}

但是将它与非常复杂的显示功能一起使用,永远不会调用键盘例程,我不确定阻止此调用工作的部分所以我只是在这里询问可能是什么原因的想法,我可以'真正发布代码,因为那将是整个项目......我正在使用 freeglut 和 opengl 上下文和 glm 进行数学计算。尽管如此,这是新的电话:

static void loop_function() {
glutSetWindow(win);
Scene::unique_scene->mainloop();
}

我对如何找到错误有点迷茫,如果有人能启发我,我将不胜感激。

最佳答案

在 glutDisplayFunc 中有一个无限循环不是要走的路,如果你添加调用,它会在 glutKeyboardFunc 结束时自动调用

glutPostRedisplay();

关于c++ - 使用复杂的显示功能会阻止 glutKeyboardFunc 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25545067/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com