C++ GLUT键盘和鼠标功能不会被调用

C++ GLUT键盘和鼠标功能不会被调用,c++,opengl,glut,listeners,C++,Opengl,Glut,Listeners,因此,我对上述代码有一个问题。键盘和鼠标功能不会被调用 我希望您能设法重现此问题。很简单,您忘记使用glutKeyboardFunc和glutMouseFunc注册它们: 这就是学校对你所做的。。。谢谢@Thomas。工作得很好。 int main(int argc, const char* argv[]) { glutInit(&argc, const_cast<char**>(argv)); glutInitDisplayMode(GLUT_DEPTH |

因此,我对上述代码有一个问题。键盘和鼠标功能不会被调用


我希望您能设法重现此问题。

很简单,您忘记使用glutKeyboardFunc和glutMouseFunc注册它们:


这就是学校对你所做的。。。谢谢@Thomas。工作得很好。
int main(int argc, const char* argv[])
{
    glutInit(&argc, const_cast<char**>(argv));
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(640, 480);
    glutCreateWindow("Sample Window");
    glutDisplayFunc(render);

    glutMainLoop();
    return 0;
}

void keyboard(unsigned char c, int x, int y){
     std::cout << "Called Keyboard";
    if(c == 'a'){
        exit(0);
    }
}

void mouse(int button, int state, int x, int y){
    std::cout << "Called Mouse";
    if(button == GLUT_RIGHT_BUTTON){
        exit(0);
    }
}

void render(){
}
int main(int argc, const char* argv[])
{
    glutInit(&argc, const_cast<char**>(argv));
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(640, 480);
    glutCreateWindow("Sample Window");
    glutKeyboardFunc(keyboard);
    glutMouseFunc(mouse);
    glutDisplayFunc(render);

    glutMainLoop();
    return 0;
}